GNU bug report logs -
#57303
powerpc64le: rust build failure is bottleneck for many packages
Previous Next
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Fri, 19 Aug 2022 16:11:59 -0400
with message-id <87tu68hu28.fsf <at> gmail.com>
and subject line Re: bug#57303: powerpc64le: rust build failure is bottleneck for many packages
has caused the debbugs.gnu.org bug report #57303,
regarding powerpc64le: rust build failure is bottleneck for many packages
to be marked as done.
(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)
--
57303: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=57303
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
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 rust <at> 1.39.0 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?
[Message part 3 (message/rfc822, inline)]
tags 57303 +notabug
thanks
Hi!
Marcel van der Boom <marcel <at> van-der-boom.nl> writes:
> 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/
Cool!
> 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 rust <at> 1.39.0 which then ultimately fails with:
>
> (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
>
>
> The line in =mod.rs= points to an assertion in some sort of table
> iterator. Way over my head.
Working only on x86_64 is a limitation of mrustc, which is used to
bootstrap rust cleanly from sources on Guix.
> I know rust runs on powerpc64le because I have a binary version
> 1.62 installed through https://archlinuxpower.org/
Yes, Rust itself is not the problem, but its bootstrap.
I'd suggest lending a hand to mrustc to iron out issues like this or
request to Rust upstream support for bootstrapping for sources.
Investigating future alternatives such as GCC Rust or other similar
efforts could be useful for the time they are ripe to use, too.
Closing, as there's not much we can do on Guix's side.
Thanks,
Maxim
This bug report was last modified 2 years and 275 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.