4 ms·
What are those "most places" that "want to build from source"? It's a honest question and I intentionally left out the "don’t want to introduce a new compiler t
by pmontra 3y ago
What are those "most places" that "want to build from source"? It's a honest question and I intentionally left out the "don’t want to introduce a new compiler to the tool chain" statement to make the set larger. I understand "most" as larger than 50% on some metric.
I know about Gentoo and other Linux distributions that do build from source but it has been very uncommon for me to see a company building things from source instead of using apt, rpm, docker in this century. It's at least two orders of magnitude faster. I remember how in the 90s I had to download the source, scan the README for the dependencies, recursively so, then building the libraries, then eventually building the program I downloaded first.
Security wise, we were not reading the code, except for Nethack.
- jdblair 3y agoThe places that want to build from source are the creators of embedded devices that use curl. These devices include (but are not limited to) wifi access points, routers, home automation devices, data loggers, IP video cameras, smart TVs, set top boxes, and streaming devices. There are a lot of these devices, and there are more all the time. Even if the engineering teams do not build every dependency every time they build firmware (like busybox), they will at some point build all of the components of their system themselves (as supported by yocto).
- dezgeg 3y agoAnybody using the standard embedded build solutions like Buildroot or Yocto will get Rust support without doing anything. It's already there and implemented.
- pmontra 3y agoThat makes sense. It was not clear in the context of the post I replied to.
- jdblair 3y agoYeah, I admit that maybe this isn't "most places," since there are almost certainly more shops running various versions of Linux servers in production than there are embedded Linux development teams. (edited to fix typo)
- pizza234 3y ago> These devices include (but are not limited to) wifi access points, routers, home automation devices, data loggers, IP video cameras, smart TVs, set top boxes, and streaming devices Access points/routers/smart TVs/set top boxes are typically be based on ARM/Linux/Android, and should be supported.
- yjftsjthsd-h 3y agohttps://doc.rust-lang.org/nightly/rustc/platform-support.html https://doc.rust-lang.org/nightly/rustc/platform-support.htm... seems to say that only aarch64 Linux and assorted x86 variants are tier 1; everything else is tier 2 (it compiles but isn't tested to actually work) at best
- moltonel3x 3y agoPeople often point this out, silently implying that Rust is not really supported/usable on the lower tiers and that therefore those platform should stick to C. But that's ignoring that the situation is the same with gcc/clang: niche platforms get much less testing, and very niche ones might have bitrotted without anyone noticing. Gcc doesn't publish or adheres to a tiered platform list, but if it was using Rustc's definition it would be at most tier 2 (because tier 1 distributes official binaries, and prevents any tier1-breaking changes from being merged).
- yjftsjthsd-h 3y agoIf I'm using a device on one of the lower tiers, it's fair to assume that the C compiler for it has been exercised quite a lot, much more than the shiny new rust compiler that I'm introducing that I have no reason to think anybody else has ever used on this platform.
- callalex 3y agoCurl could be assumed to be one of the most well-exercised code bases in the world, and yet there are still bugs.