all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#57303: powerpc64le: rust build failure is bottleneck for many packages
@ 2022-08-19 18:56 Marcel van der Boom
  2022-08-19 20:11 ` Maxim Cournoyer
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Marcel van der Boom @ 2022-08-19 18:56 UTC (permalink / raw)
  To: 57303


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?




^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#57303: powerpc64le: rust build failure is bottleneck for many packages
  2022-08-19 18:56 bug#57303: powerpc64le: rust build failure is bottleneck for many packages Marcel van der Boom
@ 2022-08-19 20:11 ` Maxim Cournoyer
  2022-08-20  8:06 ` Marcel van der Boom
  2022-08-22  8:53 ` Efraim Flashner
  2 siblings, 0 replies; 6+ messages in thread
From: Maxim Cournoyer @ 2022-08-19 20:11 UTC (permalink / raw)
  To: Marcel van der Boom; +Cc: 57303-done

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




^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#57303: powerpc64le: rust build failure is bottleneck for many packages
  2022-08-19 18:56 bug#57303: powerpc64le: rust build failure is bottleneck for many packages Marcel van der Boom
  2022-08-19 20:11 ` Maxim Cournoyer
@ 2022-08-20  8:06 ` Marcel van der Boom
  2022-08-22  8:53 ` Efraim Flashner
  2 siblings, 0 replies; 6+ messages in thread
From: Marcel van der Boom @ 2022-08-20  8:06 UTC (permalink / raw)
  To: 57303


For reference: this is the mrustc bug that needs resolving

https://github.com/thepowersgang/mrustc/issues/194





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#57303: powerpc64le: rust build failure is bottleneck for many packages
  2022-08-19 18:56 bug#57303: powerpc64le: rust build failure is bottleneck for many packages Marcel van der Boom
  2022-08-19 20:11 ` Maxim Cournoyer
  2022-08-20  8:06 ` Marcel van der Boom
@ 2022-08-22  8:53 ` Efraim Flashner
  2022-08-22  9:06   ` Marcel van der Boom
  2 siblings, 1 reply; 6+ messages in thread
From: Efraim Flashner @ 2022-08-22  8:53 UTC (permalink / raw)
  To: Marcel van der Boom; +Cc: 57303

[-- Attachment #1: Type: text/plain, Size: 2807 bytes --]

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

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   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#57303: powerpc64le: rust build failure is bottleneck for many packages
  2022-08-22  8:53 ` Efraim Flashner
@ 2022-08-22  9:06   ` Marcel van der Boom
  2022-08-23  9:38     ` Marcel van der Boom
  0 siblings, 1 reply; 6+ messages in thread
From: Marcel van der Boom @ 2022-08-22  9:06 UTC (permalink / raw)
  To: Efraim Flashner; +Cc: 57303


[Efraim Flashner]:
>> 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.

Ah, I didn't even think of that, thanks! Will try that.




^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#57303: powerpc64le: rust build failure is bottleneck for many packages
  2022-08-22  9:06   ` Marcel van der Boom
@ 2022-08-23  9:38     ` Marcel van der Boom
  0 siblings, 0 replies; 6+ messages in thread
From: Marcel van der Boom @ 2022-08-23  9:38 UTC (permalink / raw)
  To: Efraim Flashner; +Cc: 57303


[Marcel van der Boom]:
> [Efraim Flashner]:
>> 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.

> Ah, I didn't even think of that, thanks! Will try that.

Unfortunately, it fails with the exact same error




^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-08-23  9:40 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-08-19 18:56 bug#57303: powerpc64le: rust build failure is bottleneck for many packages Marcel van der Boom
2022-08-19 20:11 ` Maxim Cournoyer
2022-08-20  8:06 ` Marcel van der Boom
2022-08-22  8:53 ` Efraim Flashner
2022-08-22  9:06   ` Marcel van der Boom
2022-08-23  9:38     ` Marcel van der Boom

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.