Re: Problem with cc in native build
- Reply: Dennis Clarke : "Re: Problem with cc in native build"
- In reply to: Michael Tuexen : "Re: Problem with cc in native build"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 14 Jun 2025 11:08:33 UTC
On Sat, 14 Jun 2025 12:50:11 +0200 Michael Tuexen <tuexen@FreeBSD.org> wrote: > > On 14. Jun 2025, at 11:29, Milan Obuch <freebsd-riscv@dino.sk> > > wrote: > > > > Hi, > > > > I did native build on Star64, but there is something wrong with cc > > binary generated. > > > > I started with sme snapshot from ftp.freebsd.org, then I did all the > > usual steps (make buildworld, make buildkernel, make installkernel, > > make installworld), as I do on other systems when doing full source > > based upgrade. > > > > That seemingly went OK, I can boot newly boot system and check > > devices, interfaces,files, etc. Now, I tried another buildkernel to > > test some changes, but that failed. The error was (at stage 3.1: > > building everything, on first cc invocation) > > > > cc -target riscv64-unknown-freebsd15.0 > > --sysroot=/usr/obj/usr/src/riscv.riscv64/tmp > > -B/usr/obj/usr/src/riscv.riscv64/tmp/usr/bin -c -O2 -pipe > > -fno-strict-aliasing -g -nostdinc -I. -I/usr/src/sys > > -I/usr/src/sys/contrib/ck/include -I/usr/src/sys/contrib/libfdt > > -I/usr/src/sys/contrib/device-tree/include -D_KERNEL > > -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fPIE > > -fno-omit-frame-pointer -fno-optimize-sibling-calls -MD > > -MF.depend.genoffset.o -MTgenoffset.o > > -fdebug-prefix-map=./machine=/usr/src/sys/riscv/include > > -march=rv64imafdch -mabi=lp64 -mno-relax -ffreestanding -fwrapv > > -fstack-protector -gdwarf-4 -Wall -Wstrict-prototypes > > -Wmissing-prototypes -Wpointer-arith -Wcast-qual -Wundef > > -Wno-pointer-sign -D__printf__=__freebsd_kprintf__ > > -Wmissing-include-dirs -fdiagnostics-show-option > > -Wno-unknown-pragmas -Wswitch -Wno-error=tautological-compare > > -Wno-error=empty-body -Wno-error=parentheses-equality > > -Wno-error=unused-function -Wno-error=pointer-sign > > -Wno-error=shift-negative-value -Wno- address-of-packed-member > > -Wno-format-zero-length -mcmodel=medium -std=gnu17 -fcommon > > /usr/src/sys/kern/genoffset.c error: unable to create target: 'No > > available targets are compatible with triple > > "riscv64-unknown-freebsd15.0"' 1 error generated. *** Error code 1 > > > > I do not understand the issue, but trying > > > > # cc -print-target-triple > > riscv64-unknown-freebsd15.0 > > > > looks OK, however > > > > # cc -print-targets > > > > Registered Targets: > > arm - ARM > > armeb - ARM (big endian) > > thumb - Thumb > > thumbeb - Thumb (big endian) > > > > probably means cc as built cannot actually compile for riscv arch... > > > > Did anybody tried building FreeBSD natively on some RiscV platform? > > I think this is some kind of oversight in build process, but really > > fatal one... > I am building FreeBSD on a RiscV board (HiFive Unmatched Rev B). The > last time a month ago or so. > I get > tuexen@riscv:~ % cc -print-target-triple > riscv64-unknown-freebsd15.0 > tuexen@riscv:~ % cc -print-targets > > Registered Targets: > aarch64 - AArch64 (little endian) > aarch64_32 - AArch64 (little endian ILP32) > aarch64_be - AArch64 (big endian) > arm - ARM > arm64 - ARM64 (little endian) > arm64_32 - ARM64 (little endian ILP32) > armeb - ARM (big endian) > ppc32 - PowerPC 32 > ppc32le - PowerPC 32 LE > ppc64 - PowerPC 64 > ppc64le - PowerPC 64 LE > riscv32 - 32-bit RISC-V > riscv64 - 64-bit RISC-V > thumb - Thumb > thumbeb - Thumb (big endian) > x86 - 32-bit X86: Pentium-Pro and above > x86-64 - 64-bit X86: EM64T and AMD64 > > Let me trigger a new build. > Great. I did use sources from June 1st, git hash 66c2e68076bd. But I just found the issue... My /etc/src.conf is the culprit, I mistakenly put there some WITHOUT_LLVM_TARGET knobs, so consider this a pilot error. Shame on me :( I should know better, but this was my first non-x86 build after long time. Now if I could fix it without full reinstall and rebuild... Regards, Milan