Re: NanoBSD: CURRENT unable to compile 13-STABLE : ld: error: args.o: Opaque pointers are only supported in -opaque-pointers mode (Producer: 'LLVM15.0.7' Reader: 'LLVM 14.0.5')
- Reply: Dag-Erling_Smørgrav : "Re: NanoBSD: CURRENT unable to compile 13-STABLE : ld: error: args.o: Opaque pointers are only supported in -opaque-pointers mode (Producer: 'LLVM15.0.7' Reader: 'LLVM 14.0.5')"
- In reply to: Mateusz Guzik : "Re: NanoBSD: CURRENT unable to compile 13-STABLE : ld: error: args.o: Opaque pointers are only supported in -opaque-pointers mode (Producer: 'LLVM15.0.7' Reader: 'LLVM 14.0.5')"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 30 Mar 2023 15:23:06 UTC
Am Thu, 30 Mar 2023 15:53:19 +0200 Mateusz Guzik <mjguzik@gmail.com> schrieb: > On 3/30/23, FreeBSD User <freebsd@walstatt-de.de> wrote: > > Hello folks, > > > > some strange misbehaviour in a NanoBSD compilation is driving me nuts. > > Recently I posted some > > error messages regarding > > > > [...] > > src/sys/dev/an/if_an_pci.c:143:1: error: a > > function definition without a prototype is deprecated in all versions of C > > and is not > > supported in C2x [-Werror,-Wdeprecated-non-prototype] > > [...] > > > > but being able compiling the kernel was "a lucky shot/mistake" and in the > > vain of discussion > > it has been revealed that my nanoBSD specific "make.conf/src.conf" > > configurations were wrong. > > > > So, again: > > > > The builder host is a recent CURRENT (FreeBSD 14.0-CURRENT #2 > > main-n261876-f5a365e51fee: Thu > > Mar 30 11:23:19 CEST 2023 amd64), the target is a most recent 13-STABLE (git > > pull on a > > daily/hourly/most recentl basis when trying to build). > > > > As I understand the src/buildworld config, it seems crucial to have CURRENT > > and 13-STABLE > > somehow separated due to their divergende in used LLVM/CLANG (CURRENT has > > LLVM 15, 13-STABLE > > is with LLVM 14). > > > > Putting > > > > WITHOUT_SYSTEM_COMPILER=YES > > WITHOUT_SYSTEM_LINKER=YES > > > > into CONF_BUILD= AND CONF_WORLD= of NanoBSD configuration should prevent the > > usage of > > CURRENT's LLVM 15 and instead a cross compiling with 13-STABLE's LLVM 14 > > compiler and linker > > should be used to buildworld. > > > > But this doesn't seem to happen (at least in my case), since buildworld > > fails to build with: > > > > [...] > > cc -target x86_64-unknown-freebsd13.2 > > --sysroot=/pool/home/ohartmann/Projects/router/router/apu2c4/world/obj/amd64/ALERICH_13-STABLE_amd64/pool/home/ohartmann/Projects/router/router/apu2c4/src/amd64.amd64/tmp > > -B/pool/home/ohartmann/Projects/router/router/apu2c4/world/obj/amd64/ALERICH_13-STABLE_amd64/pool/home/ohartmann/Projects/router/router/apu2c4/src/amd64.amd64/tmp/usr/bin > > -O2 -pipe -fno-common -DMAINEXEC=bc -DNLSPATH=/usr/share/nls/%L/%N.cat > > -DBUILD_TYPE=A > > -DBC_DEFAULT_BANNER=0 -DBC_DEFAULT_PROMPT=0 -DBC_DEFAULT_SIGINT_RESET > > -DBC_DEFAULT_TTY_MODE > > -DBC_ENABLED -DBC_ENABLE_EDITLINE -DBC_ENABLE_EXTRA_MATH > > -DBC_ENABLE_LIBRARY=0 > > -DBC_ENABLE_LONG_OPTIONS -DBC_ENABLE_HISTORY -DBC_ENABLE_PROMPT > > -DBC_ENABLE_RAND > > -DDC_DEFAULT_PROMPT=0 -DDC_DEFAULT_SIGINT_RESET -DDC_DEFAULT_TTY_MODE=0 > > -DDC_ENABLED -DNDEBUG > > -I/pool/home/ohartmann/Projects/router/router/apu2c4/src/contrib/bc/include > > -DBC_ENABLE_NLS=1 > > -flto -DNDEBUG -fPIE -mretpoline -ftrivial-auto-var-init=zero > > -enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang > > -std=gnu99 > > -Wno-format-zero-length -fstack-protector-strong -Wsystem-headers -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 > > -Wmissing-variable-declarations -Wthread-safety -Wno-empty-body > > -Wno-string-plus-int > > -Wno-unused-const-variable -Wno-error=unused-but-set-variable > > -Qunused-arguments -Wl,-zrelro > > -pie -Wl,-zretpolineplt -o gh-bc args.o bc.o bc_lex.o bc_parse.o data.o > > dc.o dc_lex.o > > dc_parse.o file.o history.o lang.o lex.o main.o num.o opt.o parse.o > > program.o rand.o read.o > > vector.o vm.o bc_help.o dc_help.o lib.o lib2.o -ledit ld: error: args.o: > > Opaque pointers are > > only supported in -opaque-pointers mode (Producer: 'LLVM15.0.7' Reader: > > 'LLVM 14.0.5') cc: > > error: linker command failed with exit code 1 (use -v to see invocation) *** > > [gh-bc] Error > > code 1 > > > > make[5]: stopped in > > /pool/home/ohartmann/Projects/router/router/apu2c4/src/usr.bin/gh-bc > > [...] > > > > > > I'm now out of options here :-( > > > > are you even using the dev/an driver? No, it is commented out in the kernel config file. That error occurs when using the CURRENT system's compiler building the nanoBSD binaries. > > you should probably just remove it from the kernel (and any other > driver of the sort) I tried to put the option WITHOUT_MODULE="an" into the nanoBSD sections building world/installing world as initially described - but without any effect. To be honest, at this moment I'm stuck with the error reported above in building world preventing me proceeding to buildkernel. > > ultimately you should be able to stick to the compiler from main. in > the worst case the commit to turn "function definition without a > prototype is deprecated" from errors to warnings could be merged to > stable/13 to facilitate the build > > it may be you will be able to get away with modifying CFLAGS like so: > CFLAGS+=-Wno-deprecated-non-prototype Well, I live my freeBSD life under the impression using WITHOUT_SYSTEM_{COMPILER|LINKER} gives me a full cross-compiler environment putting myself in the position compiling 13-STABLE with a bootstrapped/self hosted compiler for the build of 13-STABLE. But this seems not the whole truth ... > > in src.conf and/or make.conf > NanoBSD has a kind of "merged" src.conf/make.conf and it is sometimes obscure to figure out from the outside what is used from the NanoBSD config to feed both make.conf and src.conf during a buildworld/buildkernel. -- O. Hartmann