pkgsrc-Users archive

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

Re: rust - volunteers sought...



>> H
> owever, this to no avail, re-starting the previously failed rust
>> build of 1.77.2 (from wip/rust177) still crashes with
>> 
>>     Running `/usr/pkgsrc/wip/rust177/work/rustc-1.77.2-src/build/bootstrap/debug/rustc /usr/pkgsrc/wip/rust177/work/rustc-1.77.2-src/build/bootstrap/debug/rust
>
> Quickly looking at it: bootstrap/debug/rustc is a wrapper for
> (I guess) an external compiler - the one from binary packages.

Well, it's the other way around (the boostrap compiler is used
for the -bin packages), but same difference.

Doing "strings -a" on the bootstrap/debug/rustc above results in
among others

clang LLVM (rustc version 1.76.0 (07dca489a 2024-02-04) (built from a source tarball))

so that appears to match what you say.  But it refuses to run
without a lot of other environment variables set:

arm64: {8} /usr/pkgsrc/wip/rust177/work/rustc-1.77.2-src/build/bootstrap/debug/rustc --version
rustc shim: FATAL: RUSTC_STAGE was not set
rustc shim: NOTE: use `x.py build -vvv` to see all environment variables set by bootstrap
arm64: {9}

and I think pkgsrc sets a lot of environment variables before
using x.py, so just doing as suggested is probably at best going
to be messy.

> For 1.77.2 we use 1.76.0. Maybe 1.75.0 might work, but I didn't
> check that.

Not too long ago I'm fairly certain that rust started explicitly
checking the version of the bootstrap compiler, and if it was
older than "current version minus one", it would refuse to build.

This matches with their policy that you must have the "previous"
version as a bootstrap compiler to build natively.  This makes it
possible for the rust compiler itself to quickly adopt "newer"
rust language features, but has the obvious downside that you
need to have all the versions work.

> By the way, on macOS the stack limit is 65520 kbytes and the
> build succeeds.

Mm, OK.  Before I started messing with the max stack limit I
think aarch64 used the same (minus address space randomization
layout slop of around 8MB). 

> I'll try to investigate more.

Thanks, appreciated.

Hmm, my testing dashboard for 1.76.0 is woefully incomplete for
the aarch64/9.0 rust 1.76.0 combination, it turns out.  That
needs some more attention from my side.  So it *may* be that this
is a bug which is new in 1.76.0 and not 1.77.x.  We'll see.

Regards,

- Håvard


Home | Main Index | Thread Index | Old Index