Re: And now the dumb question du jour
- Reply: Dennis Clarke : "Re: And now the dumb question du jour"
- In reply to: Dennis Clarke : "And now the dumb question du jour"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 12 Nov 2024 21:56:11 UTC
On 12 Nov 2024, at 21:50, Dennis Clarke <dclarke@blastwave.org> wrote: > > > Dear RISC-V folks : > > Given the recent big LLVM/Clang update into the src tree[1] it > seemed reasonable to do a full buildworld/kernel and that worked out > very well. No LLVM hack patch required ! > > enceladus# uname -apKU > FreeBSD enceladus 15.0-CURRENT FreeBSD 15.0-CURRENT #1 main-n273541-cdd3234186b1: Tue Nov 12 08:49:15 GMT 2024 root@enceladus:/usr/obj/usr/src/riscv.riscv64/sys/SIFIVE-COMPAT11 riscv riscv64 1500026 1500026 > > enceladus# cc --version > FreeBSD clang version 19.1.3 (https://github.com/llvm/llvm-project.git llvmorg-19.1.3-0-gab51eccf88f5) > Target: riscv64-unknown-freebsd15.0 > Thread model: posix > InstalledDir: /usr/bin > Build config: +assertions > enceladus# > > At this point I want to rebuild the few packages that I have. Here is > where I get a bit confused about poudriere. > > enceladus# > enceladus# poudriere ports -l > PORTSTREE METHOD TIMESTAMP PATH > latest git+https 2024-11-08 17:21:03 /poudriere/ports/latest > enceladus# > enceladus# poudriere jails -l > JAILNAME VERSION ARCH METHOD TIMESTAMP PATH > enceladus# > enceladus# zpool list > NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT > rv64 912G 27.6G 884G - - 11% 3% 1.00x ONLINE - > enceladus# > enceladus# poudriere jail -c -j 150rv64 -a riscv64 -b -m src=/usr/src -f rv64/poudriere/jails/150rv64 -v main > [00:00:00] Creating 150rv64 fs at /poudriere/jails/150rv64... done > [00:00:00] Copying /usr/src to /poudriere/jails/150rv64/usr/src... done > [00:04:04] Starting make buildworld with 4 jobs > --- buildworld --- > make[1]: "/poudriere/jails/150rv64/usr/src/Makefile.inc1" line 164: Unknown target riscv64:riscv64. > in .for loop from /poudriere/jails/150rv64/usr/src/Makefile.inc1:162 with _t = riscv64 > in directory /poudriere/jails/150rv64/usr/src > > make[1]: stopped making "buildworld" in /poudriere/jails/150rv64/usr/src > > make: stopped making "buildworld" in /poudriere/jails/150rv64/usr/src > [00:04:06] Error: Failed to 'make buildworld' > [00:04:06] Error while creating jail, cleaning up. > [00:04:06] Removing 150rv64 jail... done > [00:04:13] Cleaning 150rv64 data... done > enceladus# > > > Unknown target ? > > Excuse me ? > > enceladus# sysctl hw.fdt.model > hw.fdt.model: SiFive HiFive Unmatched A00 > enceladus# > > Am I missing something blunt force trauma obvious here? The RISC-V port is MACHINE=riscv MACHINE_ARCH=riscv64 (c.f. MACHINE=arm64 MACHINE_ARCH=aarch64 or MACHINE=powerpc MACHINE_ARCH=powerpc64), so you need to give -a riscv.riscv64 to poudriere rather than -a riscv64 (which is shorthand for -a riscv64.riscv64), unlike amd64 where MACHINE=MACHINE_ARCH=amd64 so the shorthand works. Building src is smarter about inferring one from the other rather than defaulting to them being the same, but poudriere is not. Jess