I am on a Debian machine and I want to cross compile a project for my Raspberry Pi 2. I\'ve managed to do it for a simple hello world using rustup, but couldn\'t figure out how
This is an older question but it shows up highly on Google, so I wanted to call out that nowadays you don't need to manually compile OpenSSL (if you don't want to). The openssl
crate provides a vendored feature that causes OpenSSL to be compiled from source when you build your project.
You can propagate the feature into your own project to optionally depend on vendored
by adding something like this to your Cargo.toml
:
[features]
...
# If compiling on a system without OpenSSL installed, or cross-compiling for a different
# architecture, enable this feature to compile OpenSSL as part of the build.
# See https://docs.rs/openssl/#vendored for more.
static_ssl = ['openssl/vendored']
[dependencies]
...
[dependencies.openssl]
optional = true
version = ...
Enabling the static_ssl
feature when building your project will then compile OpenSSL against the same target architecture as the rest of your build.
This post goes into some more details about different ways of compiling with OpenSSL.