Current-Users archive

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

clang-built NetBSD and rust



Hi,

a user contacted me about having a freshly installed version of
NetBSD-current for amd64 built with clang, and a failure to run
the provided "bootstrap kit" for rust, with the following error:

/usr/lib/libgcc_s.so.1: version GCC_3.3 required by /tmp/pkgsrc/wip/rust/work/rust-bootstrap/bin/cargo not found

Now, the NetBSD/amd64 bootstrap is built "upstream", i.e. it is
not one of the kits I maintain for NetBSD, and I'm pretty certain
that bootstrap kit is built on NetBSD 8.x:

: {115} pwd
/usr/pkgsrc/wip/rust/work/rust-bootstrap/bin
: {116} file cargo
: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /usr/libexec/ld.elf_so, for NetBSD 8.0, with debug_info, not stripped
: {117} ldd cargo
cargo:
        -lpthread.1 => /usr/lib/libpthread.so.1
        -lc.12 => /usr/lib/libc.so.12
        -lgcc_s.1 => /usr/lib/libgcc_s.so.1
        -lm.0 => /usr/lib/libm.so.0
: {118} uname -ps
NetBSD x86_64
: {119}

(That's the 1.67.1 bootstrap kit, used for 1.68.*.)

Now, I'm pretty sure this "bootstrap kit" has already been built with
the equivalent of "CONFIGURE_ARGS+= --enable-cargo-native-static"
(which is in our options.mk), which links nghttp2 and curl statically,
but this does not eliminate the dynamic reference to libgcc_s.so.1.

I've looked at

  ftp://nyftp.netbsd.org/pub/NetBSD-daily/HEAD-llvm/latest/amd64/binary/sets/

and specifically the base.tar.xz file, and it doesn't look like it has
libgcc_s at all, but apparently MKGCC=yes will build it, but that
doesn't appear to be the default (which is probably intentional).

So ... what should I/we do about this?  Do we need a separate rust
bootstrap kit built with clang and built with a clang-built "target
root"?  It looks like there's no netbsd-9 nor netbsd-10 built with
clang, only HEAD?

Regards,

- Håvard


Home | Main Index | Thread Index | Old Index