Re: rust-1.76.0: build fails, bootstrap issue (aarch64) [armv7 okay]

From: Mark Millard <marklmi_at_yahoo.com>
Date: Thu, 22 Feb 2024 07:06:26 UTC
On Feb 21, 2024, at 20:28, Mark Millard <marklmi@yahoo.com> wrote:

> On Feb 21, 2024, at 18:51, Mark Millard <marklmi@yahoo.com> wrote:
> 
>> On Feb 21, 2024, at 04:55, Nuno Teixeira <eduardo@freebsd.org> wrote:
>> 
>>> (...)
>>> 
>>> Same error on 14.0-R
>>> 
>>> Nuno Teixeira <eduardo@freebsd.org> escreveu (quarta, 21/02/2024 à(s) 12:10):
>>>> 
>>>> Hello all,
>>>> 
>>>> Could anyone do a rust-1.76.0 build on aarch64?
>>>> 
>>>> It seems that it can't bootstrap.
>>>> Following error log is from current 81dc3a4 (yesterday).
>>>> 
>>>> I also waiting from result from 14.0 on same osversion (poudriere).
>>>> 
>>>> ===>  Building for rust-1.76.0
>>>> Building bootstrap
>>>> running: /wrkdirs/usr/ports/lang/rust/w
>>>> ork/bootstrap/bin/cargo build
>>>> --manifest-path
>>>> /wrkdirs/usr/ports/lang/rust/work/rustc-1.76.0-src/src/bootstrap/Cargo.toml
>>>> --verbose --verbose --frozen
>>>> error: failed to run `rustc` to learn about target-specific information
>>>> 
>>>> Caused by:
>>>> process didn't exit successfully:
>>>> `/wrkdirs/usr/ports/lang/rust/work/bootstrap/bin/rustc - --crate-name
>>>> ___ --print=file-names -C linker=cc -Wrust_2018_idioms
>>>> -Wunused_lifetimes --crate-type bin --crate-type rlib --crate-type
>>>> dylib --crate-type cdylib --crate-type staticlib --crate-type
>>>> proc-macro --print=sysroot --print=split-debuginfo --print=crate-name
>>>> --print=cfg` (exit status: 1)
>>>> --- stderr
>>>> rustc -Cllvm-args="..." with: Unknown command line argument
>>>> '-generate-arange-section'.  Try: 'rustc -Cllvm-args="..." with
>>>> --help'
>>>> rustc -Cllvm-args="..." with: Did you mean '--print-all-options'?
>>>> rustc -Cllvm-args="..." with: Unknown command line argument
>>>> '-mergefunc-use-aliases'.  Try: 'rustc -Cllvm-args="..." with --help'
>>>> rustc -Cllvm-args="..." with: Did you mean '--rng-seed'?
>>>> rustc -Cllvm-args="..." with: Unknown command line argument
>>>> '-preserve-alignment-assumptions-during-inlining=false'.  Try: 'rustc
>>>> -Cllvm-args="..." with --help'
>>>> rustc -Cllvm-args="..." with: Did you mean '--print-all-options=false'?
>>>> rustc -Cllvm-args="..." with: Unknown command line argument
>>>> '-import-cold-multiplier=0.1'.  Try: 'rustc -Cllvm-args="..." with
>>>> --help'
>>>> rustc -Cllvm-args="..." with: Did you mean '--sort-timers=0.1'?
>>>> Traceback (most recent call last):
>>>> File "/wrkdirs/usr/ports/lang/rust/work/rustc-1.76.0-src/x.py", line
>>>> 50, in <module>
>>>>  bootstrap.main()
>>>> File "/wrkdirs/usr/ports/lang/rust/work/rustc-1.76.0-src/src/bootstrap/bootstrap.py",
>>>> line 1125, in main
>>>>  bootstrap(args)
>>>> File "/wrkdirs/usr/ports/lang/rust/work/rustc-1.76.0-src/src/bootstrap/bootstrap.py",
>>>> line 1092, in bootstrap
>>>>  build.build_bootstrap()
>>>> File "/wrkdirs/usr/ports/lang/rust/work/rustc-1.76.0-src/src/bootstrap/bootstrap.py",
>>>> line 880, in build_bootstrap
>>>>  run(args, env=env, verbose=self.verbose, cwd=self.rust_root)
>>>> File "/wrkdirs/usr/ports/lang/rust/work/rustc-1.76.0-src/src/bootstrap/bootstrap.py",
>>>> line 187, in run
>>>>  raise RuntimeError(err)
>>>> RuntimeError: failed to run:
>>>> /wrkdirs/usr/ports/lang/rust/work/bootstrap/bin/cargo build
>>>> --manifest-path
>>>> /wrkdirs/usr/ports/lang/rust/work/rustc-1.76.0-src/src/bootstrap/Cargo.toml
>>>> --verbose --verbose --frozen
>>>> *** Error code 1
>> 
>> I can confirm that my attempted poudriere-devel based build on an
>> aarch64 main [so: 15] got the same errors.
> 
> I started an armv7 poudriere jail build of lang/rust v1.76 and
> it is building okay so far:
> 
> . . .
> =======================<phase: build          >============================
> ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0
> ===>  Building for rust-1.76.0
> Building bootstrap
> running: /wrkdirs/usr/ports/lang/rust/work/bootstrap/bin/cargo build --manifest-path /wrkdirs/usr/ports/lang/rust/work/rustc-1.76.0-src/src/bootstrap/Cargo.toml --verbose --verbose --frozen
>   Compiling libc v0.2.150
>   Compiling proc-macro2 v1.0.60
>   Compiling memchr v2.5.0
>   Compiling cfg-if v1.0.0
>   Compiling quote v1.0.26
>   Compiling unicode-ident v1.0.0
>   Compiling typenum v1.15.0
> . . .
> [ 48% 1572/3236] Building CXX object lib/ExecutionEngine/Orc/CMakeFiles/LLVMOrcJIT.dir/EPCGenericDylibManager.cpp.o

The armv7 build finished:

[03:02:51] [01] [02:29:06] Finished lang/rust | rust-1.76.0: Success


The official builders' logs show for rust 1.76.0 :

i386 built fine:  http://beefy17.nyi.freebsd.org/data/main-i386-default/p3229bb06d7d7_sb241767f8e/logs/rust-1.76.0.log

amd64 built fine: http://beefy18.nyi.freebsd.org/data/main-amd64-default/p3229bb06d7d7_sb241767f8e/logs/rust-1.76.0.log
(but beefy18 now is not responding so I can not double check that)

(Warning the log files are large. Display in a web browser may not be reasonable.)


Looks like the problem is aarch64 specific in some way.

===
Mark Millard
marklmi at yahoo.com