[target.powerpc64-unknown-linux-gnu] ar = "powerpc64-unknown-linux-musl-ar" cc = "powerpc64-unknown-linux-musl-gcc" cxx = "powerpc64-unknown-linux-musl-g++" linker = "powerpc64-unknown-linux-musl-gcc" ranlib = "powerpc64-unknown-linux-musl-ranlib" crt-static = false >>> Source configured. >>> Compiling source in /var/tmp/portage-large/portage/dev-lang/rust-1.62.1/work/rustc-1.62.1-src ... Building rustbuild running: /var/tmp/portage-large/portage/dev-lang/rust-1.62.1/work/rust-stage0/bin/cargo build --manifest-path /var/tmp/portage-large/portage/dev-lang/rust-1.62.1/work/rustc-1.62.1-src/src/bootstrap/Cargo.toml --verbose --verbose --locked --frozen Traceback (most recent call last): File "/var/tmp/portage-large/portage/dev-lang/rust-1.62.1/work/rustc-1.62.1-src/./x.py", line 27, in <module> bootstrap.main() File "/var/tmp/portage-large/portage/dev-lang/rust-1.62.1/work/rustc-1.62.1-src/src/bootstrap/bootstrap.py", line 1195, in main bootstrap(help_triggered) File "/var/tmp/portage-large/portage/dev-lang/rust-1.62.1/work/rustc-1.62.1-src/src/bootstrap/bootstrap.py", line 1169, in bootstrap build.build_bootstrap() File "/var/tmp/portage-large/portage/dev-lang/rust-1.62.1/work/rustc-1.62.1-src/src/bootstrap/bootstrap.py", line 899, in build_bootstrap run(args, env=env, verbose=self.verbose) File "/var/tmp/portage-large/portage/dev-lang/rust-1.62.1/work/rustc-1.62.1-src/src/bootstrap/bootstrap.py", line 183, in run ret = subprocess.Popen(args, **kwargs) File "/usr/lib/python3.10/subprocess.py", line 969, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, File "/usr/lib/python3.10/subprocess.py", line 1845, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: '/var/tmp/portage-large/portage/dev-lang/rust-1.62.1/work/rust-stage0/bin/cargo' # file /var/tmp/portage-large/portage/dev-lang/rust-1.62.1/work/rust-stage0/bin/cargo /var/tmp/portage-large/portage/dev-lang/rust-1.62.1/work/rust-stage0/bin/cargo: ELF 64-bit MSB pie executable, 64-bit PowerPC or cisco 7500, Power ELF V1 ABI, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.1, for GNU/Linux 2.6.32, with debug_info, not stripped # ls -la /lib64/ld64.so.1 ls: cannot access '/lib64/ld64.so.1': No such file or directory musl doesn't have this, is it glibc?
ok, I see this: >>> Unpacking rust-1.61.0-powerpc64-unknown-linux-gnu.tar.xz to /var/tmp/portage-large/portage/dev-lang/rust-1.62.1/work >>> Unpacking rust-1.61.0-powerpc64le-unknown-linux-gnu.tar.xz to /var/tmp/portage-large/portage/dev-lang/rust-1.62.1/work while on arm64-musl I see it using a musl tar, so I guess that's the problem here.
it seems we need to add features/wd40 to the ppc64-musl profile to mask this setup?
@musl: I believe what is required here (at least) is adding features/wd40 to profiles/default/linux/ppc64/17.0/musl/parent. Do you think that's ok, if so, OK if I push that change?
yeah there's no upstream provided tarball, but there are users who did the bootstrap via other means and are using system-bootstrap feature to keep rolling. we could add wd40 to that profile but that'd require users to manually unmask stuff. let me think if it's worth it or not. this overlay usually contains ppc64-musl rust patches and even has bootstrap tarballs https://github.com/smaeul/portage-overlay/tree/master/dev-lang/rust
Since rust-bin-1.80.1, I've added a bootstrapped by us for ppc64 (be and le) musl variant. https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=588f00b950d4dcf8b6ec274f38a7367c002d9432