rust aarch64 / aarch64eb architecture support

John Klos <[email protected]> Thu, 9 Apr 2026 18:59:27 +0000 (UTC)
Newsgroups gmane.os.netbsd.devel.packages
Message-ID <[email protected]>
Hi,

Apologies in advance, because I haven't got a clue how rust works. On 
NetBSD 11/aarch64eb, lang/rust fails immediately with:

ERROR: This package is not available for these platforms: NetBSD-11.0-aarch64eb.
ERROR: [can-be-built-here.mk] This package has PKG_SKIP_REASON set:
ERROR: [bsd.pkg.mk] rust-1.91.1nb1 is not available for NetBSD-11.0-aarch64eb

So I added "RUST_BOOTSTRAP_PATH=/usr/pkg" and "RUST_TYPE=bin", and tried 
"make bin-install":

     raise Exception("no cargo executable found at 
`{}`".format(self.cargo()))
Exception: no cargo executable found at `/usr/pkg/bin/cargo`
*** Error code 1

It seems it didn't pull in rust-bin, it seems, so I manually installed it

(Note that I first tried "RUST_BOOTSTRAP_PATH=/usr/pkg/bin" and got 
"Exception: no cargo executable found at `/usr/pkg/bin/bin/cargo`"... It 
appears that RUST_BOOTSTRAP_PATH should just be /usr/pkg then. Is this 
how it's supposed to work?)

The next issue is:

===> Building for rust-1.91.1nb1
Building bootstrap

thread 'main' (25870) panicked at 
/usr/pkgsrc/wip/rust191/work/rustc-1.91.1-src/vendor/toml_parser-1.0.2/src/lexer/mod.rs:468:21:
internal error: entered unreachable code: found `99`

No idea what "unreachable code: found `99`" is, and I don't have 
pkgsrc/wip on this machine, so I'm guessing that rust-bin was compiled 
from wip?

So now I'm wondering what's up with our cargo binary...

file `which cargo`
/usr/pkg/bin/cargo: ELF 64-bit MSB pie executable, ARM aarch64, version 1 
(SYSV), dynamically linked, interpreter /usr/libexec/ld.elf_so, for NetBSD 
9.99.82, not stripped

Now I'm confused... So I cleared out distfiles and ran make fetch, and it 
seems to be getting a good package:

=> Fetching rust-1.91.1-aarch64_be-unknown-netbsd.tar.xz
=> Total size: 207801468 bytes
Trying [2a04:4e42:46::262]:443 ...
Requesting https://cdn.NetBSD.org/pub/pkgsrc/distfiles/LOCAL_PORTS/rust/rust-1.91.1-aarch64_be-unknown-netbsd.tar.xz
  38% |***********************                                      | 78272 KiB    2.46 MiB/s    00:49 ETA

I run a "make package update", and I got the same aarch64, not aarch64eb, 
binary.

Does anyone have any ideas how this happened and how to fix it?

Thanks!
John Klos