the future of dev-lang/rust with musl support outside the scope of amd64 and aarch64
Closed this issue · 1 comments
hey everyone,
I've been compiling firefox-esr for my little armv7a-musl box for the last years, using dev-lang/rust ebuilds from smaeul his overlay. There are stages available at https://portage.smaeul.xyz/distfiles/ , and he seemingly has stopped pushing out new stages with rust-1.48.0 being the last one.
I reached out for him, and he pushed an ebuild and patchset for rust-1.48.0 to his overlay. I have it bootstraped and compiled into a perfectly working rustc + cargo binary, but this might be the end of that road. I'm not a rust hacker myself, and while its possible for me to backport his rust-1.48.0 patchset to rust-1.49.0 in a sense that it will apply, I run into massive problems down the road:
sysroot: "/var/tmp/portage/dev-lang/rust-1.49.0/work/rustc-1.49.0-src/build/x86_64-gentoo-linux-musl/stage0-sysroot"
libdir: "/var/tmp/portage/dev-lang/rust-1.49.0/work/rust-stage0/lib"
error[E0609]: no field `target` on type `rustc_target::spec::Target`
--> compiler/rustc_codegen_ssa/src/back/link.rs:2036:41
|
2036 | && !sess.target.target.options.crt_static_allows_dylibs
| ^^^^^^ unknown field
|
= note: available fields are: `llvm_target`, `pointer_width`, `arch`, `data_layout`, `options`
error: aborting due to previous error
For more information about this error, try `rustc --explain E0609`.
Did not run successfully: exit code: 1
error: could not compile `rustc_codegen_ssa`
which I lack the expertise to debug properly.
So, what kind of options are there for a musl powered rust on systems other than amd64 and aarch64, where upstream provides a prebuilt stage for? My idea was to use system-bootstrap, and so make my way through until I reach a llvm-12 based version, but I'm running into really tricky problems.
seems there is none