emacs-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#57303: closed (powerpc64le: rust build failure is bottleneck for man


From: GNU bug Tracking System
Subject: bug#57303: closed (powerpc64le: rust build failure is bottleneck for many packages)
Date: Fri, 19 Aug 2022 20:13:02 +0000

Your message dated Fri, 19 Aug 2022 16:11:59 -0400
with message-id <87tu68hu28.fsf@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@gnu.org.)


-- 
57303: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=57303
GNU Bug Tracking System
Contact help-debbugs@gnu.org with problems
--- Begin Message --- Subject: powerpc64le: rust build failure is bottleneck for many packages Date: Fri, 19 Aug 2022 20:56:10 +0200 User-agent: mu4e 1.8.9; emacs 29.0.50

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@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?



--- End Message ---
--- Begin Message --- Subject: Re: bug#57303: powerpc64le: rust build failure is bottleneck for many packages Date: Fri, 19 Aug 2022 16:11:59 -0400 User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.1 (gnu/linux)
tags 57303 +notabug
thanks

Hi!

Marcel van der Boom <marcel@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@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


--- End Message ---

reply via email to

[Prev in Thread] Current Thread [Next in Thread]