zlacker

[return to "Rust in the NetBSD Kernel, and other odd decisions"]
1. nextac+kw[view] [source] 2026-02-03 08:11:41
>>jaypat+(OP)
> In general, the bootstrap relies on a binary package of the previous version. This is unacceptable for an otherwise source-only, self-contained distribution like the NetBSD sources.

This does not paint the full picture. Rust can be bootstrapped with mrustc, which is written in C++

https://github.com/thepowersgang/mrustc

Now, mrustc supports only Rust 1.74. To build Rust 1.92, you need almost 20 builds. But this can be done from source

Guix has written about bootstrapping Rust from source (they care a lot about this). Here is how it looked like in 2018

https://guix.gnu.org/nb-NO/blog/2018/bootstrapping-rust/

◧◩
2. stocke+dy[view] [source] 2026-02-03 08:27:40
>>nextac+kw
And this is good because? Seriously, modern devs have lost their minds if they think that this state of affairs is okay.
◧◩◪
3. rcxdud+ze1[view] [source] 2026-02-03 13:35:19
>>stocke+dy
For a good while this process was just straight up not possible for C and C++, until someone put in a lot of effort to recreate the bootstrap process for reasons of reproducible builds (and it's still a long and complicated process I think only a few people have done). For decades people were just building from source with compilers that had extremely long and undocumented bootstrap chains (they may have documentation for how to bootstrap from a different C or C++ compiler, but there wasn't one that would start from scratch).
[go to top]