5 ms·
It's usually an enormous pain to set up. QEMU is probably the best option.
by IshKebab 8mo ago
It's usually an enormous pain to set up. QEMU is probably the best option.
- sofixa 8mo agoDepends on the language, it's pretty trivial with Go.
- STKFLT 8mo agoMaybe there are issues I'm not aware of but using dockcross has made cross-compilation quite easy in my experience. https://github.com/dockcross/dockcross https://github.com/dockcross/dockcross
- mort96 8mo agoHow does it handle .so version differences and glibc version differences between the container and the target system?
- pantalaimon 8mo agoT2 manages to do it https://t2linux.com/ https://t2linux.com/
- VorpalWay 8mo agoYocto, which we use at work, manages it just fine to build a whole embedded Linux distro. So I don't see why Fedora couldn't make it work if they wanted. You could even scp over the test suites to run that on native systems if you wanted.
- mort96 8mo agoYocto manages it thanks to the tireless effort of a community of people maintaining patches and unholy hacks for a ton of software to make it cross compilable. And they have nowhere near the amount of recipes that Fedora has.
- VorpalWay 8mo agoThis is true, but the hacks are mostly in the C and C++ recipes as I understand it. Something like Rust or especially Go or Zig is far easier to cross compile. I personally found cross compiling Rust easy, as long as you don't have C dependencies. If you have C dependencies it becomes way harder. This suggests that spending time to upstream cross compilation fixes would be worth it for everyone, and probably even in the C world, 20% of the packages need 80% of the effort.
- mort96 8mo agoI wonder if Fedora packages any C and C++ software?
- NetMageSCW 8mo agoI wonder how much of Fedora is written in Rust?