GNU bug report logs - #57303
powerpc64le: rust build failure is bottleneck for many packages

Previous Next

Package: guix;

Reported by: Marcel van der Boom <marcel <at> van-der-boom.nl>

Date: Fri, 19 Aug 2022 19:28:01 UTC

Severity: normal

Done: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#57303: closed (powerpc64le: rust build failure is bottleneck
 for many packages)
Date: Fri, 19 Aug 2022 20:13:02 +0000
[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)]
From: Marcel van der Boom <marcel <at> van-der-boom.nl>
To: bug-guix <at> gnu.org
Subject: powerpc64le: rust build failure is bottleneck for many packages
Date: Fri, 19 Aug 2022 20:56:10 +0200
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)]
From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Marcel van der Boom <marcel <at> van-der-boom.nl>
Cc: 57303-done <at> debbugs.gnu.org
Subject: Re: bug#57303: powerpc64le: rust build failure is bottleneck for
 many packages
Date: Fri, 19 Aug 2022 16:11:59 -0400
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.