3 ms·
It's unfortunate that some platforms got dropped, but OTOH all these platforms seem to be 30 years old, niche, and discontinued by their original manufacturers.
by pornel 6y ago
It's unfortunate that some platforms got dropped, but OTOH all these platforms seem to be 30 years old, niche, and discontinued by their original manufacturers.
If someone has antique computer that still works, that's great, but they shouldn't expect to have the latest software for it.
- rudedogg 6y ago> Only users on Alpine (musl), BSD, other hardware platforms, and distro packagers are affected. Not just niche or antique!
- pornel 6y agoRust supports musl and a bunch of BSDs, so if something broke with their packages, it should be only a matter of fixing the builds. That's a much smaller problem than adding a new old architecture to LLVM and rustc.
- moosingin3space 6y agoIndeed, a commenter demonstrates that resolving the issue on Alpine Linux was as simple as adding an `apk add rustc cargo` to their Dockerfile.
- nenolod 6y agoIt's not just about adding new architectures to LLVM and rustc, it's also about bootstrapping supported architectures on all architectures supported by a distribution. This isn't fully done in Alpine yet, and took a long time to do in Debian.
- CyberRabbi 6y agoThis is the sort of opinion that evaporates once you become the victim of what’s happening here. IMO Rust should have a C backend, then the maintainers could drop it as a build dependency and not break existing platforms. Though I expect there to be political reasons for Rust’s conspicuous lack of a C backend.
- correct_horse 6y agoLLVM had a C backend which went unmaintained until the Julia folks picked it up and updated it for LLVM 10. I'm not sure about its current state.
- deleted 6y ago[deleted]
- pornel 6y agoThere's mrustc which compiles Rust to C. Rustc itself supports two back-ends now (LLVM and cranelift), so more should be possible if someone wanted to contribute and maintain them. I don't think there's any ideological opposition to having more back-ends. It's just a huge amount of work, and is lacking volunteers, especially for niche platforms.
- CyberRabbi 6y agoThe amount of work doesn’t seem to be the limiting factor. Rewriting large amounts of C code into Rust is a lot of work too but that doesn’t stop Rust justice warriors from doing that.
- pca006132 6y agoI think there are alternative implementations that are (much) less mature than rustc. And I wonder if using those implementations would be good for a project, that requires security...
- moosingin3space 6y agoFor one, respected community member pcwalton has argued against compiling to C, citing the difficulty in producing performant, memory-safe output. For another, from personal experience, I can comment that compiling to C in such a way that doesn't leak abstractions left and right is quite challenging. It's pretty hard to produce memory-safe C, so it's a ton of work, and the payoff is pretty marginal, as the most important platforms already are supported by LLVM.
- 6y ago
- Isinlor 6y agoIndeed. If the platforms are business critical then an impacted company should put money on the table to do the necessary work. If they are not critical then well, why should other people care? Also, Python packaging is pure hell.
- moosingin3space 6y agoWhat's more, the Gentoo maintainer that filed the issue lists a number of platforms that CPython itself doesn't even support.