Re: Error crosscompiling 14.0-ALPHA1 on amd64 for arm64.aarch64

From: Mark Millard <marklmi_at_yahoo.com>
Date: Sun, 13 Aug 2023 17:04:39 UTC
Juraj Lutter <otis_at_FreeBSD.org> wrote on
Date: Sun, 13 Aug 2023 12:42:45 UTC :

> > On 13 Aug 2023, at 00:17, Mike Karels <mike@karels.net> wrote:
> > 
> > On 12 Aug 2023, at 15:32, Juraj Lutter wrote:
> > 
> > Did the buildworld start out by building a cross-compiler?
> > 
> > Have you tried without meta mode? With a clean objdir, I don't see how
> > it would matter, but I'm not sure I've tried it.
> > 
> > The ALPHA1 builds seem to have worked, but I think they run on arm64.
> > 
> 
> See here: https://files.wilbury.net/s/bJKKB5Kbta6DNqB for the full log.
> 

Looks to me like "make package" is broken for context in which:

make[1]: "/usr/src/Makefile.inc1" line 340: SYSTEM_COMPILER: libclang will be built for bootstrapping a cross-compiler.
make[1]: "/usr/src/Makefile.inc1" line 345: SYSTEM_LINKER: libclang will be built for bootstrapping a cross-linker.

happends. (Or "make package" just is just not intended to support such contexts?)


Details follow . . .

Your log shows:

make[1]: "/usr/src/Makefile.inc1" line 340: SYSTEM_COMPILER: libclang will be built for bootstrapping a cross-compiler.
make[1]: "/usr/src/Makefile.inc1" line 345: SYSTEM_LINKER: libclang will be built for bootstrapping a cross-linker.

But searching shows no such builds happening during arm64.aarch64/tmp/ , just some of the prerequisites
( tools/lib/clang/libllvmminimal tools/lib/clang/libclangminimal tools/usr.bin/clang/clang-tblgen
tools/usr.bin/clang/llvm-tblgen tools/usr.bin/clang/lldb-tblgen )

~/Downloads/bw-arm64-aarch64-out.txt:1: [Creating objdir /usr/obj/usr/src/arm64.aarch64...]
~/Downloads/bw-arm64-aarch64-out.txt:21: [Creating objdir /usr/obj/usr/src/arm64.aarch64/tools/build...]
~/Downloads/bw-arm64-aarch64-out.txt:48: [Creating objdir /usr/obj/usr/src/arm64.aarch64/tmp/obj-tools...]
~/Downloads/bw-arm64-aarch64-out.txt:51: [Creating objdir /usr/obj/usr/src/arm64.aarch64/tmp/obj-tools/tools/build...]
~/Downloads/bw-arm64-aarch64-out.txt:168: [Creating objdir /usr/obj/usr/src/arm64.aarch64/tmp/obj-tools/lib/clang/libllvmminimal...]
~/Downloads/bw-arm64-aarch64-out.txt:170: [Creating objdir /usr/obj/usr/src/arm64.aarch64/tmp/obj-tools/lib/clang/libclangminimal...]
~/Downloads/bw-arm64-aarch64-out.txt:172: [Creating objdir /usr/obj/usr/src/arm64.aarch64/tmp/obj-tools/usr.bin/dtc...]
~/Downloads/bw-arm64-aarch64-out.txt:174: [Creating objdir /usr/obj/usr/src/arm64.aarch64/tmp/obj-tools/usr.bin/fortune/strfile...]
~/Downloads/bw-arm64-aarch64-out.txt:231: [Creating objdir /usr/obj/usr/src/arm64.aarch64/tmp/obj-tools/lib/libopenbsd...]
~/Downloads/bw-arm64-aarch64-out.txt:248: [Creating objdir /usr/obj/usr/src/arm64.aarch64/tmp/obj-tools/usr.bin/rpcgen...]
~/Downloads/bw-arm64-aarch64-out.txt:272: [Creating objdir /usr/obj/usr/src/arm64.aarch64/tmp/obj-tools/usr.bin/yacc...]
~/Downloads/bw-arm64-aarch64-out.txt:362: [Creating objdir /usr/obj/usr/src/arm64.aarch64/tmp/obj-tools/usr.bin/xinstall...]
~/Downloads/bw-arm64-aarch64-out.txt:387: [Creating objdir /usr/obj/usr/src/arm64.aarch64/tmp/obj-tools/usr.sbin/bsnmpd/gensnmptree...]
~/Downloads/bw-arm64-aarch64-out.txt:415: [Creating objdir /usr/obj/usr/src/arm64.aarch64/tmp/obj-tools/usr.sbin/config...]
~/Downloads/bw-arm64-aarch64-out.txt:433: [Creating objdir /usr/obj/usr/src/arm64.aarch64/tmp/obj-tools/usr.bin/vtfontcvt...]
~/Downloads/bw-arm64-aarch64-out.txt:477: [Creating objdir /usr/obj/usr/src/arm64.aarch64/tmp/obj-tools/usr.sbin/zic...]
~/Downloads/bw-arm64-aarch64-out.txt:487: [Creating objdir /usr/obj/usr/src/arm64.aarch64/tmp/obj-tools/usr.bin/mandoc...]
~/Downloads/bw-arm64-aarch64-out.txt:545: [Creating objdir /usr/obj/usr/src/arm64.aarch64/tmp/obj-tools/usr.bin/localedef...]
~/Downloads/bw-arm64-aarch64-out.txt:637: [Creating objdir /usr/obj/usr/src/arm64.aarch64/tmp/obj-tools/usr.bin/mkesdb...]
~/Downloads/bw-arm64-aarch64-out.txt:717: [Creating objdir /usr/obj/usr/src/arm64.aarch64/tmp/obj-tools/usr.bin/mkcsmapper...]
~/Downloads/bw-arm64-aarch64-out.txt:750: [Creating objdir /usr/obj/usr/src/arm64.aarch64/tmp/obj-tools/kerberos5/tools/make-roken...]
~/Downloads/bw-arm64-aarch64-out.txt:805: [Creating objdir /usr/obj/usr/src/arm64.aarch64/tmp/obj-tools/kerberos5/lib/libroken...]
~/Downloads/bw-arm64-aarch64-out.txt:1041: [Creating objdir /usr/obj/usr/src/arm64.aarch64/tmp/obj-tools/kerberos5/lib/libvers...]
~/Downloads/bw-arm64-aarch64-out.txt:1056: [Creating objdir /usr/obj/usr/src/arm64.aarch64/tmp/obj-tools/kerberos5/tools/asn1_compile...]
~/Downloads/bw-arm64-aarch64-out.txt:1122: [Creating objdir /usr/obj/usr/src/arm64.aarch64/tmp/obj-tools/kerberos5/tools/slc...]
~/Downloads/bw-arm64-aarch64-out.txt:1153: [Creating objdir /usr/obj/usr/src/arm64.aarch64/tmp/obj-tools/usr.bin/compile_et...]
~/Downloads/bw-arm64-aarch64-out.txt:1263: [Creating objdir /usr/obj/usr/src/arm64.aarch64/tmp/obj-tools/usr.bin/clang/clang-tblgen...]
~/Downloads/bw-arm64-aarch64-out.txt:1265: [Creating objdir /usr/obj/usr/src/arm64.aarch64/tmp/obj-tools/usr.bin/clang/llvm-tblgen...]
~/Downloads/bw-arm64-aarch64-out.txt:1267: [Creating objdir /usr/obj/usr/src/arm64.aarch64/tmp/obj-tools/usr.bin/clang/lldb-tblgen...]
~/Downloads/bw-arm64-aarch64-out.txt:16253: [Creating objdir /usr/obj/usr/src/arm64.aarch64/release...]

No arm64.aarch64/tmp/ SYSTEM_COMPILER or SYSTEM_LINKER bootstrap compiler/linker were built.

From what I can tell, this leads to:

cc -march=armv7 -m32 -target armv7-unknown-freebsd14.0-gnueabihf  -DCOMPAT_LIBCOMPAT=\"32\"  -DCOMPAT_libcompat=\"32\"  -DCOMPAT_LIB32  --sysroot=/usr/obj/usr/src/arm64.aarch64/tmp  -B/usr/obj/usr/src/arm64.aarch64/tmp/usr/bin -B/usr/obj/usr/src/arm64.aarch64/tmp/usr/lib32  -O2 -pipe -fno-common -fPIC  -g -gz=zlib -MD  -MF.depend.libssp_nonshared.o -MTlibssp_nonshared.o -std=gnu99 -Wno-format-zero-length -fstack-protector-strong -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Wnested-externs -Wold-style-definition -Wno-pointer-sign -Wdate-time -Wmissing-variable-declarations -Wthread-safety -Wno-empty-body -Wno-string-plus-int -Wno-unused-const-variable -Wno-error=unused-but-set-parameter  -Qunused-arguments    -c /usr/src/lib/libssp_nonshared/libssp_nonshared.c -o libssp_nonshared.o

using the pre-existing system compiler that, in your context, gets:

error: unable to create target: 'No available targets are compatible with triple "armv7-unknown-freebsd14.0-gnueabihf"'
1 error generated.


I doubt that "make package" was tested for being able to handle
the lib32 addition to aarch64 builds for SYSTEM_COMPILER or
SYSTEM_LINKER bootstrap cases.

===
Mark Millard
marklmi at yahoo.com