💾 Archived View for slog.flounder.online › aerozine › building.gmi captured on 2023-09-08 at 15:51:04. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2022-07-16)

-=-=-=-=-=-=-

Building from Source

Here are instructions on how to build Aerozine from source.

Required tools:

Download Source Code

To download the code, clone the repository:

git clone https://github.com/slogemann1/aerozine

Because openssl is now used as a dependency instead of native_tls, the instructions on installation differ for different operating systems.

Install Openssl on Windows

To download openssl on Windows, the most reliable way is by downloading vcpkg, a package manager for C++ libraries created by microsoft. To do this you will need to have the latest version of Visual Studio installed with desktop development for C++. The following commands will install the openssl library (Note that the created directory needs to remain in place for the build to work):

git clone https://github.com/Microsoft/vcpkg
cd vcpkg
bootstrap-vcpkg.bat
vcpkg integrate install
vcpkg install openssl --triplet x64-windows-static-md

These commands (in particular the last one) can take a while to run, as vcpkg installs a lot of dependencies to build openssl. Once these have run, you can follow the steps under Building the Executable

Install Openssl on Linux / Mac

To download the openssl library on Linux or MacOS (not tested), you can simply use your package manager. For example on a Raspberry Pi:

sudo apt install libssl-dev

Building the Executable

Once openssl has been installed, the executable can be built using cargo:

cargo build --release

This file may have openssl staticly or dynamically linked, depending on the installation of the library. You should be able to force openssl to be statically linked, by setting the environment variable 'OPENSSL_STATIC' to 1. It is also possible to staticly link the C standard library, in order to run on any machine with the same OS and architcture, by instead running the command:

cargo rustc --release -- -C target-feature=+crt-static