capnfabs / crossbuild-spotifyd

How to cross compile a rust project w/ linux system libraries for the raspberry pi
https://capnfabs.net/posts/cross-compiling-rust-apps-linker-shenanigans-multistrap-chroot/
MIT License
4 stars 1 forks source link

Very informative! #1

Closed TopperBG closed 3 years ago

TopperBG commented 3 years ago

I try to make cross compile another Rust thing (RedisJSON plugin) but should use specific GLIBC. When compile it in docker I'd receive GLIBC_2.29 on target is libc_2.24.so Do you have idea how to tell cargo build to use sepcific version of libc ?

PS: Something like that ? https://capnfabs.net/posts/cross-compiling-rust-apps-linker-shenanigans-multistrap-chroot/#:~:text=Some%20quick%20googling%20reveals%20that%20this%20should%20be%20fixable%20by%20telling%20the%20gcc%20linker%20to%20look%20in%20a%20different%20system%20root.%20We%20can%20tell%20cargo%20to%20tell%20rustc%20to%20tell%20gcc%20to%20tell%20the%20linker%20(%F0%9F%98%85)%20to%20do%20that%20by%20setting%20the%20CARGO_TARGET_%3Ctriple%3E_RUSTFLAGS%20environment%20variable%20in%20the%20Dockerfile%3A

capnfabs commented 3 years ago

Hey @TopperBG! I don't actually know; all I'd be able to do here is google it. The advice I've seen there (and I think something I might've tried with spotifyd?) was to try compiling with musl instead but I don't think that works with dynamic (.so) libraries which require glibc themselves.

Going to close the issue here because this repo is a proof-of-concept, but good luck getting this resolved!