tech-pkg archive

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

Re: rust and NetBSD/i386 8.x



>> I don't know if anyone has noticed, but it looks like our "rust"
>> package has ceased to be buildable on NetBSD/i386 8.x.
>>
>> Rummaging through my old build logs, I see that this surfaced
>> with rust version 1.70.0.
>>
>> Our/my system for cross-building bootstrap kits for our rust port
>> had been built against a DESTDIR of a netbsd-8 i386 system
>> "forever", until that hit the following problem:
>>
>> [  1%] Building IntrinsicsAArch64.h...
>> In file included from /usr/pkgsrc/wip/rust/work/rustc-1.70.0-src/src/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:12:0,
>>                  from /usr/pkgsrc/wip/rust/work/rustc-1.70.0-src/src/llvm-project/llvm/include/llvm/TableGen/Record.h:17,
>>                  from /usr/pkgsrc/wip/rust/work/rustc-1.70.0-src/src/llvm-project/llvm/utils/TableGen/Attributes.cpp:9:
>> /usr/pkgsrc/wip/rust/work/rustc-1.70.0-src/src/llvm-project/llvm/include/llvm/ADT/Hashing.h:54:10: fatal error: optional: No such file or directory
>>  #include <optional>
>>           ^~~~~~~~~~
>> compilation terminated.
>>
>> and similarly for <variant>.  
>
> Do you understand why this has happened for i386 but not the other
> architectures?

I think so, yes.  i386 was one of two DESTDIRs which was based on
netbsd-8 in my build setup, all the others are 9.0 or newer:

stest: {5} grep DISTRIBVER */dest/etc/release
evbarm-armv6hf/dest/etc/release:          DISTRIBVER = '9.0'
evbarm-armv7hf/dest/etc/release:          DISTRIBVER = '9.0_STABLE'
evbarm64/dest/etc/release:          DISTRIBVER = '8.99.50'
evbarm64eb/dest/etc/release:          DISTRIBVER = '9.99.82'
i386/dest/etc/release:          DISTRIBVER = '9.3'
macppc-8.0/dest/etc/release:          DISTRIBVER = '8.0'
macppc/dest/etc/release:          DISTRIBVER = '9.0'
mips64el/dest/etc/release:          DISTRIBVER = '9.3'
mipsel/dest/etc/release:          DISTRIBVER = '9.3_STABLE'
riscv64/dest/etc/release:          DISTRIBVER = '10.99.4'
sparc64/dest/etc/release:          DISTRIBVER = '9.3'
stest: {6} 

Well, that wasn't entirely true, it turns out, but macppc 8.0 was
abandoned (not tried newer versions) for basically the same
reason.

(The above may seem slightly unsystematical, and it probably is,
and also speaks to our history about backward compatibility...
There was also probably reasons I had for picking those versions,
e.g. riscv64)

> It sounds like someone should add BROKEN_ON to the rust package for
> netbsd-8-i386, as it ought to be workable but doesn't build.   That
> seems cleaner than having it fail.

I'll put that on my plate.  As well as macppc/powerpc for 8.*.

It'll save someone the time to download; the build error occurs
fairly early in the build, so compile-time-wise it's not a big
saver, but still worth it due to skipped downloads.

> We have included a note that increasingly complicated/desktoppy things
> do not build on 8.  It's easy enough to add rust to the list.

OK.  Please do that.

> The real issue is the NetBSD 10 released has not been released, closing
> in on 4 years after 9.0 was released on February 14, 2020.  8.0 was
> released on July 17, 2018, and enough upstream projects demand newer
> compiler support that a 5 year old base system is no longer viable.
> But the larger situation about 8 is not about this specific rust issue.

Ack.

Best regards,

- Håvard


Home | Main Index | Thread Index | Old Index