This is an old revision of the document!
Rust on FreeBSD
Ports
- lang/rust-nightly currently only builds on 10+ amd64
- lang/rust currently only builds on 10+ amd64 and i386
- Require a boostrapped “stage0” compiler (available upstream)
- Only 10.1 amd64 supports segmented stacks, which were previously? required for rust.
- Apparently segmented stacks can now be disabled via morestack: false (Example)
- It's still desirable to add segmented stack support, but it requires kernel changes
- Go back as far as we can in stable/X
TODO
- Get the new Rust FreeBSD buildbots live
- Build using system (ports) llvm (devel/llvmXY) not the bundled one - DONE
- Test build on 9.x amd64 using upstream stage0 amd64 compiler + devel/libc++ - IN PROGRESS
- Build rust on amd64 through all supported versions (9.x → CURRENT)
- Build & test cross-compile inf/bits
- Build a stage0 compiler for i386 - DONE (upstream now provides i386 snapshots as well)
- Land a port for Cargo - DONE
- Build rust on Tier 2's (arm*)
- See bootstrap and cross-compilation notes from JeanSébastienPédron: https://gist.github.com/dumbbell/b587da50ef014078da9e732a4331ebad
- armv6: Work in progress by Mikaël Urankar: Rust and Cargo are bootstrapped but Cargo segfaults with non-trivial crates;
- aarch64: Work in progress:
- Waiting on https://reviews.freebsd.org/D9286 to first update lang/rust-nightly
- sparc64: Work in progress by JeanSébastienPédron: Trying Rust self-hosting now
- Test actual Rust software, fix bugs, submit pull requests upstream …
References
-
- ports/187962: [lang/rust] Fix the compilation on FreeBSD 10
Contact
- WillAndrews (will@)
- JeanSébastienPédron
- ThomasZander (riggs@)