Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 12 Nov 2024 21:56:11 +0000
From:      Jessica Clarke <jrtc27@freebsd.org>
To:        Dennis Clarke <dclarke@blastwave.org>
Cc:        "freebsd-riscv@freebsd.org" <freebsd-riscv@FreeBSD.org>
Subject:   Re: And now the dumb question du jour
Message-ID:  <A1A401B2-82F5-4DC9-BA29-8F16F0458123@freebsd.org>
In-Reply-To: <62b7409c-899a-4888-96bf-07af49c1a791@blastwave.org>
References:  <62b7409c-899a-4888-96bf-07af49c1a791@blastwave.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 12 Nov 2024, at 21:50, Dennis Clarke <dclarke@blastwave.org> wrote:
>=20
>=20
> Dear RISC-V folks :
>=20
>    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 !
>=20
> 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
>=20
> 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#
>=20
> At this point I want to rebuild the few packages that I have. Here is
> where I get a bit confused about poudriere.
>=20
> 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=3D/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 =3D riscv64
>        in directory /poudriere/jails/150rv64/usr/src
>=20
> make[1]: stopped making "buildworld" in =
/poudriere/jails/150rv64/usr/src
>=20
> 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#
>=20
>=20
> Unknown target ?
>=20
> Excuse me ?
>=20
> enceladus# sysctl hw.fdt.model
> hw.fdt.model: SiFive HiFive Unmatched A00
> enceladus#
>=20
> Am I missing something blunt force trauma obvious here?

The RISC-V port is MACHINE=3Driscv MACHINE_ARCH=3Driscv64 (c.f.
MACHINE=3Darm64 MACHINE_ARCH=3Daarch64 or MACHINE=3Dpowerpc
MACHINE_ARCH=3Dpowerpc64), 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=3DMACHINE_ARCH=3Damd64 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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?A1A401B2-82F5-4DC9-BA29-8F16F0458123>