Skip to content

Latest commit

 

History

History
43 lines (33 loc) · 2.15 KB

INSTALL.md

File metadata and controls

43 lines (33 loc) · 2.15 KB

Building OFFWall

OFFWall is provided by the cargo crate offwall. Rust version 1.26.0 is minimally required to build it. Building the crate on a system that has rustc and cargo available is as easy as cargo build. Installing to the local cargo path takes a cargo install.

The crate has one optional feature: tls. This feature needs the OpenSSL or LibreSSL library installed on the system. For more information please consult the openssl crate's documentation. If you want to enable TLS, please use the --features tls option appended to the aforementioned commands.

Prerequisites for cross compilation

The production target system for OFFWall is Solaris 10 (SPARC64). A compatible cross linker is required to build, which is provided by the cross crate. It also includes an OpenSSL installation, so you do not have to care about installing it.

You should use a x86_64 GNU/Linux build system with cross. It depends on the rustup toolchain manager and docker. Be sure to add the building system user to the docker group.

cross is installed via cargo install cross.

Packaging for Solaris 10

It is assumed that you have cross installed and the docker daemon is running. The Heirloom Packaging Tools and a make implementation are also required. At least make, pkgmk, rustup, docker and cross have to be in $PATH. Build the Solaris 10 SVR4 package by simply running make. You will find the package at the new directory offwall. You can make offwall.pkg a container with pkgtrans available.

Installing on Solaris 10

You can download Solaris SVR4 packages from GitHub Releases and install them with pkgadd. If you build the package yourself, possibly you get a checksum error because the upstream Heirloom Packaging Tools depend on a long's size being 32 bit for computing the checksums. You should install a 32-bit version. If that is not possible, pkgadd has an undocumented -C flag to deactivate checksum checks. Or you can patch and build from source.