How does one compile a Rust application without having to load shared libraries at all?
What have I tried:
ex.rs
fn main() {
println!("Try to compile me statically!");
}
According to https://rust-lang.github.io/rfcs/1721-crt-static.html I performed the following:
$ rustc -C target-feature=+crt-static ./ex.rs
$ ldd ./ex
linux-vdso.so.1 (0x00007ffc4e3ef000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fc30b8c4000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fc30b6bc000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fc30b49d000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fc30b285000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fc30ae94000)
/lib64/ld-linux-x86-64.so.2 (0x00007fc30bcfb000)
Why isn't libc
compiled statically?
And how to get rid of linking all other shared libraries?
actix
crate, which does not supportmusl
. How to overcome it ? – Kheda