Для кросскомпиляции в Rust нужно установить набор библиотек, необходимых для компиляции на определенной платформе.
Чтобы посмотреть установленные набор : rustup show
Чтобы добавит например musl , то делаем rustup target add x86_64-unknown-linux-musl
Смотрим rustup show
$ rustup show
.Default host: x86_64-unknown-linux-gnu
rustup home: /home/dima/.rustup
installed targets for active toolchain
--------------------------------------
x86_64-unknown-linux-gnu
x86_64-unknown-linux-musl
active toolchain
----------------
stable-x86_64-unknown-linux-gnu (default)
rustc 1.40.0 (73528e339 2019-12-16)
Теперь компилируем
$ cargo run --target=x86_64-unknown-linux-musl
Compiling cfg-if v0.1.10
Compiling ppv-lite86 v0.2.6
Compiling libc v0.2.66
Compiling getrandom v0.1.13
Compiling c2-chacha v0.2.3
Compiling rand_core v0.5.1
Compiling rand_chacha v0.2.1
Compiling rand v0.7.2
Compiling read_file v0.1.0 (/home/dima/Rust/read_file)
Finished dev [unoptimized + debuginfo] target(s) in 36.55s
Running `target/x86_64-unknown-linux-musl/debug/read_file`
Random u8: 252
Random u16: 4832
Random u32: 141195676
Random i32: -1677746107
Random float: 0.22141390568216823