Subject: Re: bug#57303: powerpc64le: rust build failure is bottleneck for many packages

From: Efraim Flashner <[email-masked]>
Date: Mon, 22 Aug 2022 11:53:30 +0300

On Fri, Aug 19, 2022 at 08:56:10PM +0200, Marcel van der Boom wrote:
> 
> I use a Talos II machine as my daily driver and slowly migrating as many
> packages to GUIX along the way. The kernel I am running comes fromm
> https://archlinuxpower.org/
> 
> 
> For many packages, rust is getting to be the bottleneck as a dependency that
> does not build.
> 
> From what I can see there's a whole chain of rust dependencies going back to
> [email-masked] which then ultimately fails with:
> 
> 
> --8<---------------cut here---------------start------------->8---
> (16/112) BUILDING bitflags v1.1.0
> > /tmp/guix-build-rust-1.39.0.drv-0/mrustc/bin/mrustc
> > rustc-1.39.0-src/vendor/bitflags/src/lib.rs -o
> > output/rustc-build/libbitflags-1_1_0.rlib --crate-name bitflags
> > --crate-type rlib -C
> > emit-depfile=output/rustc-build/libbitflags-1_1_0.rlib.d --crate-tag
> > 1_1_0 -g --cfg debug_assertions -O -L output -L output/rustc-build --cfg
> > bitflags_const_fn
> (17/112) BUILDING cc v1.0.35
> > /tmp/guix-build-rust-1.39.0.drv-0/mrustc/bin/mrustc
> > rustc-1.39.0-src/vendor/cc/src/lib.rs -o
> > output/rustc-build/libcc-1_0_35.rlib --crate-name cc --crate-type rlib
> > -C emit-depfile=output/rustc-build/libcc-1_0_35.rlib.d --crate-tag
> > 1_0_35 -g --cfg debug_assertions -O -L output -L output/rustc-build
> > /tmp/guix-build-rust-1.39.0.drv-0/mrustc/bin/mrustc
> > rustc-1.39.0-src/src/librustc_llvm/build.rs --crate-name build
> > --crate-type bin -o output/rustc-build/build_rustc_llvm_run -L
> > output/rustc-build -g -L output --extern
> > build_helper=output/rustc-build/libbuild_helper-0_1_0.rlib --extern
> > cc=output/rustc-build/libcc-1_0_35.rlib --edition 2018
> > /tmp/guix-build-rust-1.39.0.drv-0/mrustc/output/rustc-build/build_rustc_llvm_run
> thread 'main' panicked at 'assertion failed: `(left == right)`
>  left: `1`,
> right: `0`', rustc-1.39.0-src/vendor/hashbrown/src/raw/mod.rs:1086:59
> Process was terminated with signal 6
> --8<---------------cut here---------------end--------------->8---
> 
> 
> The line in =mod.rs= points to an assertion in some sort of table iterator.
> Way over my head.
> 
> I know rust runs on powerpc64le because I have a binary version 1.62
> installed through https://archlinuxpower.org/
> 
> 
> Is anyone familiar with this working on rust on powerpc64 for the
> powerpc64le-linux system?

About 2 months ago I spent some time and got the rust bootstrap working
for riscv64-linux. I would suggest looking at the staging branch since
there the rust bootstrap version is at 1.54.

-- 
Efraim Flashner   <[email-masked]>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted