help-guix
[Top][All Lists]
Advanced

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

Re: Aarch64 build of rust-1.39.0 fails


From: Vagrant Cascadian
Subject: Re: Aarch64 build of rust-1.39.0 fails
Date: Fri, 17 Dec 2021 08:37:40 -0800

On 2021-12-16, phodina via wrote:
> I checked the build server and there were no substitutes [1] for rust-1.39.0 
> for the Aarch64 system.

This is unfortunately a known issue; there isn't a good bootstrap path
for rust on aarch64... and an increasingly number of things are
depending on rust, which makes it a more obvious problem now.


> When building natively (Pinebook Pro) there is this problem:
>
> $ uname -a
> Linux valhalla 5.14.9-gnu #1 SMP PREEMPT 1 aarch64 GNU/Linux
> ~/guix$ guix build rust -K
> ...
>> /tmp/guix-build-rust-1.39.0.drv-0/mrustc/bin/mrustc 
>> rustc-1.39.0-src/src/libcore/lib.rs -o output/libcore.rlib --crate-name core 
>> --crate-type rlib -C emit-depfile=output/libcore.rlib.d --crate-tag 0_0_0 -g 
>> --cfg debug_assertions -O -L output --edition 2018
> rustc-1.39.0-src/src/libcore/slice/mod.rs:67: warn:0:Unexpected attribute 
> allow_internal_unstable on associated item
> rustc-1.39.0-src/src/libcore/str/mod.rs:2173: warn:0:Unexpected attribute 
> allow_internal_unstable on associated item
> In file included from output/libcore.rlib.c:7:
> output/libcore.rlib.c: In function 
> ‘ZRQG2ch4core50_0_03ffi10VaListImpl0g2cb05clone5Clone0gb30g’:
> output/libcore.rlib.c:219717:10: warning: passing argument 1 of 
> ‘__builtin_va_copy’ from incompatible pointer type 
> [-Wincompatible-pointer-types]
> 219717 | va_copy(var3, arg0);
> | ^~~~
> | |
> | struct s_ZRG2ch4core50_0_03ffi10VaListImpl0g **
> output/libcore.rlib.c:219717:10: note: expected ‘__va_list *’ but argument is 
> of type ‘struct s_ZRG2ch4core50_0_03ffi10VaListImpl0g **’
> output/libcore.rlib.c:219717:16: error: incompatible type for argument 2 of 
> ‘__builtin_va_copy’
> 219717 | va_copy(var3, arg0);
> | ^~~~
> | |
> | struct s_ZRG2ch4core50_0_03ffi10VaListImpl0g *
> output/libcore.rlib.c:219717:16: note: expected ‘__va_list’ but argument is 
> of type ‘struct s_ZRG2ch4core50_0_03ffi10VaListImpl0g *’
> C Compiler failed to execute - error code 256
> Process exited with non-zero exit status 1
> BUILD FAILED
> make: *** [minicargo.mk:82: output/libstd.rlib] Error 1
> error: in phase 'build': uncaught exception:
> %exception #<&invoke-error program: "make" arguments: ("-f" "minicargo.mk" 
> "output/rustc" "-j6" "RUSTC_TARGET=aarch64-unknown-linux-gnu" 
> "RUSTC_VERSION=1.39.0" "MRUSTC_TARGET_VER=1.39" "OUTDIR_SUF=") exit-status: 2 
> term-signal: #f stop-signal: #f>
> phase `build' failed after 1006.4 seconds
> command "make" "-f" "minicargo.mk" "output/rustc" "-j6" 
> "RUSTC_TARGET=aarch64-unknown-linux-gnu" "RUSTC_VERSION=1.39.0" 
> "MRUSTC_TARGET_VER=1.39" "OUTDIR_SUF=" failed with status 2
>
> Not sure if this PR [2] would help as I don't know how to apply the patch to 
> the package definition for rust-1.39.
...
> [2] https://github.com/rust-lang/rust/pull/49878

Looks somewhat plausible...

You could try pulling out the patches and adding them in
gnu/packages/patches/rust-1.39-XXX.patch, and then adding into the
search-patches definition in gnu/packages/rust.scm for rust-1.39.

Though, they may require backwards or forwards-porting those patches;
not sure if those patches were applied before or after 1.39.


live well,
  vagrant

Attachment: signature.asc
Description: PGP signature


reply via email to

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