Created attachment 228381 [details] Patch setting WITH_LLVM_BINUTILS to yes by default I'd like to request an exp-run with WITH_LLVM_BINUTILS set. I'd like to know which port builds break, if any, on FreeBSD's side.
+1 on the exp-run, please.
More than 24000 ports were skipped due to new failures New failure logs: http://gohan04.nyi.freebsd.org/data/main-amd64-PR258872-default/2021-10-28_18h07m08s/logs/errors/postgresql10-client-10.18.log http://gohan04.nyi.freebsd.org/data/main-amd64-PR258872-default/2021-10-28_18h07m08s/logs/errors/postgresql11-client-11.13.log http://gohan04.nyi.freebsd.org/data/main-amd64-PR258872-default/2021-10-28_18h07m08s/logs/errors/postgresql12-client-12.8.log http://gohan04.nyi.freebsd.org/data/main-amd64-PR258872-default/2021-10-28_18h07m08s/logs/errors/postgresql13-client-13.4.log http://gohan04.nyi.freebsd.org/data/main-amd64-PR258872-default/2021-10-28_18h07m08s/logs/errors/postgresql14-client-14.0.log http://gohan04.nyi.freebsd.org/data/main-amd64-PR258872-default/2021-10-28_18h07m08s/logs/errors/postgresql96-client-9.6.23.log http://gohan04.nyi.freebsd.org/data/main-amd64-PR258872-default/2021-10-28_18h07m08s/logs/errors/neo-cowsay-1.0.3.log http://gohan04.nyi.freebsd.org/data/main-amd64-PR258872-default/2021-10-28_18h07m08s/logs/errors/perl5-devel-5.35.4.102.log http://gohan04.nyi.freebsd.org/data/main-amd64-PR258872-default/2021-10-28_18h07m08s/logs/errors/perl5.30-5.30.3_1.log http://gohan04.nyi.freebsd.org/data/main-amd64-PR258872-default/2021-10-28_18h07m08s/logs/errors/perl5-5.32.1_1.log http://gohan04.nyi.freebsd.org/data/main-amd64-PR258872-default/2021-10-28_18h07m08s/logs/errors/perl5.34-5.34.0.log http://gohan04.nyi.freebsd.org/data/main-amd64-PR258872-default/2021-10-28_18h07m08s/logs/errors/racket-minimal-8.2.log http://gohan04.nyi.freebsd.org/data/main-amd64-PR258872-default/2021-10-28_18h07m08s/logs/errors/tcl85-8.5.19_4.log http://gohan04.nyi.freebsd.org/data/main-amd64-PR258872-default/2021-10-28_18h07m08s/logs/errors/tcl86-8.6.11_2.log http://gohan04.nyi.freebsd.org/data/main-amd64-PR258872-default/2021-10-28_18h07m08s/logs/errors/rump-20170822_2.log http://gohan04.nyi.freebsd.org/data/main-amd64-PR258872-default/2021-10-28_18h07m08s/logs/errors/viamillipede-0.89.log http://gohan04.nyi.freebsd.org/data/main-amd64-PR258872-default/2021-10-28_18h07m08s/logs/errors/nifticlib-2.0.0_1.log http://gohan04.nyi.freebsd.org/data/main-amd64-PR258872-default/2021-10-28_18h07m08s/logs/errors/stressdisk-1.0.12.log http://gohan04.nyi.freebsd.org/data/main-amd64-PR258872-default/2021-10-28_18h07m08s/logs/errors/sxml-1.0.7.log http://gohan04.nyi.freebsd.org/data/main-amd64-PR258872-default/2021-10-28_18h07m08s/logs/errors/gurl-0.2.3.log
Not surprising Perl failing to build has a huge impact. From perl5.34-5.34.0.log: cc -pthread -Wl,-E -fstack-protector-strong -L/usr/local/lib -o miniperl opmini.o perlmini.o gv.o toke.o perly.o pad.o regcomp.o dump.o util.o mg.o reentr.o mro_core.o keywords.o hv.o av.o run.o pp_hot.o sv.o pp.o scope.o pp_ctl.o pp_sys.o doop.o doio.o regexec.o utf8.o taint.o deb.o universal.o globals.o perlio.o numeric.o mathoms.o locale.o pp_pack.o pp_sort.o caretx.o dquote.o time64.o miniperlmain.o -lpthread -lm -lcrypt -lutil ld: error: undefined symbol: __dtraceenabled_perl___op__entry >>> referenced by perlmini.c >>> perlmini.o:(perl_destruct) >>> referenced by perlmini.c >>> perlmini.o:(perl_destruct) >>> referenced by perlmini.c >>> perlmini.o:(perl_parse) >>> referenced 8 more times ld: error: undefined symbol: __dtrace_perl___sub__entry >>> referenced by util.c >>> util.o:(Perl_dtrace_probe_call) ld: error: undefined symbol: __dtrace_perl___sub__return >>> referenced by util.c >>> util.o:(Perl_dtrace_probe_call) ld: error: undefined symbol: __dtrace_perl___loading__file >>> referenced by util.c >>> util.o:(Perl_dtrace_probe_load) ld: error: undefined symbol: __dtrace_perl___loaded__file >>> referenced by util.c >>> util.o:(Perl_dtrace_probe_load) ld: error: undefined symbol: __dtrace_perl___op__entry >>> referenced by util.c >>> util.o:(Perl_dtrace_probe_op) >>> referenced by util.c >>> util.o:(Perl_dtrace_probe_op) ld: error: undefined symbol: __dtrace_perl___phase__change >>> referenced by util.c >>> util.o:(Perl_dtrace_probe_phase) ld: error: undefined symbol: __dtraceenabled_perl___sub__entry >>> referenced by pp_hot.c >>> pp_hot.o:(Perl_pp_leavesub) >>> referenced by pp_hot.c >>> pp_hot.o:(Perl_pp_entersub) ... (Aside, `make extract` in lang/perl5.34 had an annoying 30 second sleep after stating it is not the default version -- it seems this ought to be emitted if building, not if only `make extract` or `make patch` was invoked.)
I had a look at all commands invoked by the perl build, and it seems it uses three tools affected by WITH_LLVM_BINUTILS: ar, strip, objcopy. Probably the most interesting ones are: objcopy --localize-hidden dtrace_mini.o objcopy --localize-hidden dtrace_perllib.o objcopy --localize-hidden perldtrace.o --localize-hidden Make all hidden symbols local to the output file. This includes symbols with internal visiblity. These do not come from the perl build directly - they come from cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c asprintf(&cmd, "%s --localize-hidden %s", dtp->dt_objcopy_path, file);
See also bug 265516.
--localize-hidden was added in the commit below (and available in 15): commit 27a29b0290065c44ceab765ac4eb47459bcf1833 Author: Jake Ehrlich <jakehehrlich@google.com> Date: Fri Jan 5 19:19:09 2018 +0000 [llvm-objcopy] Add --localize-hidden option This change adds support in llvm-objcopy for GNU objcopy's --localize-hidden option. This option changes every hidden or internal symbol into a local symbol. llvm-svn: 321884
Can we redo the exp run now that we have Clang 15 in main?
Around 25k ports were skipped due to new failures. Some new failure logs: https://pkg-status.freebsd.org/gohan05/data/mainamd64PR258872-default/2023-03-15_19h12m41s/logs/errors/postgresql11-client-11.19.log https://pkg-status.freebsd.org/gohan05/data/mainamd64PR258872-default/2023-03-15_19h12m41s/logs/errors/postgresql12-client-12.14.log https://pkg-status.freebsd.org/gohan05/data/mainamd64PR258872-default/2023-03-15_19h12m41s/logs/errors/postgresql13-client-13.10.log https://pkg-status.freebsd.org/gohan05/data/mainamd64PR258872-default/2023-03-15_19h12m41s/logs/errors/postgresql14-client-14.7.log https://pkg-status.freebsd.org/gohan05/data/mainamd64PR258872-default/2023-03-15_19h12m41s/logs/errors/postgresql15-client-15.2.log https://pkg-status.freebsd.org/gohan05/data/mainamd64PR258872-default/2023-03-15_19h12m41s/logs/errors/perl5-devel-5.37.0.271_2.log https://pkg-status.freebsd.org/gohan05/data/mainamd64PR258872-default/2023-03-15_19h12m41s/logs/errors/perl5-5.32.1_3.log https://pkg-status.freebsd.org/gohan05/data/mainamd64PR258872-default/2023-03-15_19h12m41s/logs/errors/perl5.34-5.34.1_2.log https://pkg-status.freebsd.org/gohan05/data/mainamd64PR258872-default/2023-03-15_19h12m41s/logs/errors/perl5.36-5.36.0_2.log https://pkg-status.freebsd.org/gohan05/data/mainamd64PR258872-default/2023-03-15_19h12m41s/logs/errors/racket-minimal-8.5_1.log https://pkg-status.freebsd.org/gohan05/data/mainamd64PR258872-default/2023-03-15_19h12m41s/logs/errors/tcl85-8.5.19_4.log https://pkg-status.freebsd.org/gohan05/data/mainamd64PR258872-default/2023-03-15_19h12m41s/logs/errors/tcl86-8.6.13.log https://pkg-status.freebsd.org/gohan05/data/mainamd64PR258872-default/2023-03-15_19h12m41s/logs/errors/traefik-2.9.8_1.log https://pkg-status.freebsd.org/gohan05/data/mainamd64PR258872-default/2023-03-15_19h12m41s/logs/errors/viamillipede-0.89.log https://pkg-status.freebsd.org/gohan05/data/mainamd64PR258872-default/2023-03-15_19h12m41s/logs/errors/opie-1.20230106.log https://pkg-status.freebsd.org/gohan05/data/mainamd64PR258872-default/2023-03-15_19h12m41s/logs/errors/samesame-1.10_2.log https://pkg-status.freebsd.org/gohan05/data/mainamd64PR258872-default/2023-03-15_19h12m41s/logs/errors/sxml-1.0.7.log
Perl appears to be the same issue as described in comment #3 ld: error: undefined symbol: __dtraceenabled_perl___op__entry >>> referenced by perlmini.c >>> perlmini.o:(perl_destruct) >>> referenced by perlmini.c >>> perlmini.o:(perl_destruct) >>> referenced by perlmini.c >>> perlmini.o:(perl_parse) >>> referenced 8 more times ...
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=27f35b7dd418a82cf2f5bb618bd4bb7e81253f3a commit 27f35b7dd418a82cf2f5bb618bd4bb7e81253f3a Author: Mark Johnston <markj@FreeBSD.org> AuthorDate: 2023-04-04 15:21:51 +0000 Commit: Mark Johnston <markj@FreeBSD.org> CommitDate: 2023-04-04 18:08:16 +0000 libdtrace: Do not set SHF_ALLOC on SUNW_dof relocation sections The section will contain static relocations which do not need to be preserved after linking, and moreover these relocations may reference symbols that end up getting removed. Do not set SHF_ALLOC and instead let the linker decide what needs to be done. PR: 258872 MFC after: 1 week Sponsored by: The FreeBSD Foundation cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
postgres and tcl have similar errors, of the form strip: error: '/wrkdirs/usr/ports/databases/postgresql10-client/work/stage/usr/local/lib/_inst.64995_': not stripping symbol '.L.str.2' because it is named in a relocation --- lang/racket-minimal is curious: gmake[5]: Entering directory '/wrkdirs/usr/ports/lang/racket-minimal/work/racket-8.5/src/cs/c' /wrkdirs/usr/ports/lang/racket-minimal/work/stage/usr/local/bin/racket -Z ../../../../../build/config -X "/wrkdirs/usr/ports/lang/racket-minimal/work/stage/usr/local/share/racket/collects" -G "/wrkdirs/usr/ports/lang/racket-minimal/work/stage/usr/local/etc/racket" -Z ../../../../../build/config -N "raco" -l- setup --no-user malformed fasl-object header in petite malformed boot file petite gmake[5]: *** [Makefile:669: do-setup-install] Abort trap (core dumped) --- cmd/traefik looks like a transitory problem on the build host: ===> Building traefik from ./cmd/traefik vendor/github.com/Azure/go-autorest/autorest/adal/token.go:38:2: open /wrkdirs/usr/ports/net/traefik/work/traefik-2.9.8/vendor/github.com/Azure/go-autorest/autorest/date: too many open files vendor/github.com/akamai/AkamaiOPEN-edgegrid-golang/client-v1/client.go:8:2: open /wrkdirs/usr/ports/net/traefik/work/traefik-2.9.8/vendor/github.com/akamai/AkamaiOPEN-edgegrid-golang/jsonhooks-v1: too many open files --- net/viamillipede looks like it should also be fixed by 27f35b7dd418 objcopy: error: Link field value 25 in section .rela.SUNW_dof is not a symbol table dtrace: failed to link script dtrace_viamillipede.d: failed to link dtrace_viamillipede.o: objcopy exited with status 1 --- security/opie is not related: pam_opie.c:44:10: fatal error: 'opie.h' file not found #include <opie.h> ^~~~~~~~ 1 error generated. *** Error code 1 --- textproc/sxml ===> Generating temporary packing list /bin/rm /wrkdirs/usr/ports/textproc/sxml/work/stage/usr/local/lib/libsxml.a rm: /wrkdirs/usr/ports/textproc/sxml/work/stage/usr/local/lib/libsxml.a: No such file or directory *** Error code 1 (ignored) install -m 0644 libsxml.a /wrkdirs/usr/ports/textproc/sxml/work/stage/usr/local/lib ranlib -t /wrkdirs/usr/ports/textproc/sxml/work/stage/usr/local/lib/libsxml.a ranlib: error: Invalid option: '-t' *** Error code 1 FreeBSD's bespoke ranlib accepts but ignores '-t' I see it documented elsewhere as -t Update the timestamp of the symbol map of an archive. --- sysutils/samesame: c++ -DDEBUG -g -Wall -DDISK_STORAGE -DEXPERIMENTAL -DREAD_ONCES -pg -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fstack-protector-strong -o samefile samefile.o main.o holder.o sizegroup.o matchmatrix.o storage.o filegroup.o filename.o templates.o list.o container.o list.o hash.o stats.o printhardlinked.o write2disk.o toolkit.o buffer.o memory.o ld: error: undefined symbol: eprol >>> referenced by crt1_c.c:49 (/poudriere/jails/mainamd64PR258872/usr/src/lib/csu/amd64/crt1_c.c:49) >>> /usr/lib/gcrt1.o:(_start) c++: error: linker command failed with exit code 1 (use -v to see invocation) *** Error code 1
With Mark's change in 27f35b7dd418 at least perl, tcl, postgres should build, which should address the bulk of the skipped ports. I'd thus like to request another exp-run.
(In reply to Ed Maste from comment #12) I believe tcl and postgres will build, but fail during stage. tcl is invoking `strip -x` on a .a and the error can be reproduced as: # strip -o /dev/null -x libtclstub86.a strip: error: 'libtclstub86.a': not stripping symbol '.L.str.1' because it is named in a relocation https://github.com/llvm/llvm-project/issues/47468
Some new failure logs: https://pkg-status.freebsd.org/gohan05/data/mainamd64PR258872-default/2023-04-05_14h36m44s/logs/errors/postgresql11-client-11.19.log https://pkg-status.freebsd.org/gohan05/data/mainamd64PR258872-default/2023-04-05_14h36m44s/logs/errors/postgresql12-client-12.14.log https://pkg-status.freebsd.org/gohan05/data/mainamd64PR258872-default/2023-04-05_14h36m44s/logs/errors/postgresql13-client-13.10.log https://pkg-status.freebsd.org/gohan05/data/mainamd64PR258872-default/2023-04-05_14h36m44s/logs/errors/postgresql14-client-14.7.log https://pkg-status.freebsd.org/gohan05/data/mainamd64PR258872-default/2023-04-05_14h36m44s/logs/errors/postgresql15-client-15.2.log https://pkg-status.freebsd.org/gohan05/data/mainamd64PR258872-default/2023-04-05_14h36m44s/logs/errors/melonds-qt5-0.9.4_1.log https://pkg-status.freebsd.org/gohan05/data/mainamd64PR258872-default/2023-04-05_14h36m44s/logs/errors/racket-minimal-8.5_1.log https://pkg-status.freebsd.org/gohan05/data/mainamd64PR258872-default/2023-04-05_14h36m44s/logs/errors/tcl85-8.5.19_4.log https://pkg-status.freebsd.org/gohan05/data/mainamd64PR258872-default/2023-04-05_14h36m44s/logs/errors/tcl86-8.6.13.log https://pkg-status.freebsd.org/gohan05/data/mainamd64PR258872-default/2023-04-05_14h36m44s/logs/errors/tcl87-8.7.a5_1.log https://pkg-status.freebsd.org/gohan05/data/mainamd64PR258872-default/2023-04-05_14h36m44s/logs/errors/trlan-201009_11.log https://pkg-status.freebsd.org/gohan05/data/mainamd64PR258872-default/2023-04-05_14h36m44s/logs/errors/astc-encoder-4.4.0.log https://pkg-status.freebsd.org/gohan05/data/mainamd64PR258872-default/2023-04-05_14h36m44s/logs/errors/netdata-1.38.1.log https://pkg-status.freebsd.org/gohan05/data/mainamd64PR258872-default/2023-04-05_14h36m44s/logs/errors/trafshow-5.2.3_3,1.log https://pkg-status.freebsd.org/gohan05/data/mainamd64PR258872-default/2023-04-05_14h36m44s/logs/errors/q-6.0.log https://pkg-status.freebsd.org/gohan05/data/mainamd64PR258872-default/2023-04-05_14h36m44s/logs/errors/dsniff-2.4.b1_8.log https://pkg-status.freebsd.org/gohan05/data/mainamd64PR258872-default/2023-04-05_14h36m44s/logs/errors/opie-1.20230106.log https://pkg-status.freebsd.org/gohan05/data/mainamd64PR258872-default/2023-04-05_14h36m44s/logs/errors/bash-static-5.2.15.log https://pkg-status.freebsd.org/gohan05/data/mainamd64PR258872-default/2023-04-05_14h36m44s/logs/errors/stressdisk-1.0.12_11.log https://pkg-status.freebsd.org/gohan05/data/mainamd64PR258872-default/2023-04-05_14h36m44s/logs/errors/sxml-1.0.7.log https://pkg-status.freebsd.org/gohan05/data/mainamd64PR258872-default/2023-04-05_14h36m44s/logs/errors/deno-1.32.3.log more than 5k ports were skipped due to those failures
trafshow looks unrelated cc -O2 -pipe -DINET6 -fstack-protector-strong -fno-strict-aliasing -Wall -I. -DHAVE_CONFIG_H -c trafshow.c trafshow.c:63:12: error: static declaration of 'pcap_init' follows non-static declaration static int pcap_init(PCAP_HANDLER **ph_list, pcap_if_t *dp); ^ /usr/include/pcap/pcap.h:386:14: note: previous declaration is here PCAP_API int pcap_init(unsigned int, char *); ^ trafshow.c:177:22: error: incompatible pointer to integer conversion passing 'PCAP_HANDLER **' (aka 'struct pcap_handler **') to parameter of type 'unsigned int' [-Wint-conversion] if ((op = pcap_init(&ph_list, dev_list)) < 1) { ^~~~~~~~ ... ^
A commit in branch stable/13 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=f22bd73428ddff199ee3f4554df2bf761bed5aba commit f22bd73428ddff199ee3f4554df2bf761bed5aba Author: Mark Johnston <markj@FreeBSD.org> AuthorDate: 2023-04-04 15:21:51 +0000 Commit: Mark Johnston <markj@FreeBSD.org> CommitDate: 2023-04-11 14:10:24 +0000 libdtrace: Do not set SHF_ALLOC on SUNW_dof relocation sections The section will contain static relocations which do not need to be preserved after linking, and moreover these relocations may reference symbols that end up getting removed. Do not set SHF_ALLOC and instead let the linker decide what needs to be done. PR: 258872 MFC after: 1 week Sponsored by: The FreeBSD Foundation (cherry picked from commit 27f35b7dd418a82cf2f5bb618bd4bb7e81253f3a) cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
Continuing down the list, lang/ldc (27 skipped): FAILED: CMakeFiles/LDCShared.dir/gen/aa.cpp.o /usr/local/bin/clang++13 -DLDC_ENABLE_PLUGINS -DLDC_LLVM_SUPPORTED_TARGET_AArch64=1 -DLDC_LLVM_SUPPORTED_TARGET_AMDGPU=1 -DLDC_LLVM_SUPPORTED_TARGET_ARM=1 -DLDC_LLVM_SUPPORTED_TARGET_AVR=1 -DLDC_LLVM_SUPPORTED_TARGET_BPF=1 -DLDC_LLVM_SUPPORTED_TARGET_Hexagon=1 -DLDC_LLVM_SUPPORTED_TARGET_Lanai=1 -DLDC_LLVM_SUPPORTED_TARGET_MSP430=1 -DLDC_LLVM_SUPPORTED_TARGET_Mips=1 -DLDC_LLVM_SUPPORTED_TARGET_NVPTX=1 -DLDC_LLVM_SUPPORTED_TARGET_PowerPC=1 -DLDC_LLVM_SUPPORTED_TARGET_RISCV=1 -DLDC_LLVM_SUPPORTED_TARGET_Sparc=1 -DLDC_LLVM_SUPPORTED_TARGET_SystemZ=1 -DLDC_LLVM_SUPPORTED_TARGET_WebAssembly=1 -DLDC_LLVM_SUPPORTED_TARGET_X86=1 -DLDC_LLVM_SUPPORTED_TARGET_XCore=1 -DLDC_MLIR_ENABLED -I/usr/local/llvm13/include -I/wrkdirs/usr/ports/lang/ldc/work/ldc-1.30.0-src/. -I/wrkdirs/usr/ports/lang/ldc/work/ldc-1.30.0-src/dmd -O2 -pipe -fPIC -fstack-protector-strong -fno-strict-aliasing -DDMDV2 -O2 -pipe -fPIC -fstack-protector-strong -fno-strict-aliasing -DNDEBUG -I/usr/local/llvm13/include -std=c++14 -fno-exceptions -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -fno-rtti -Wall -Wextra -Wno-unused-parameter -Wno-comment -Wno-missing-field-initializers -Wno-non-virtual-dtor -Wno-gnu-anonymous-struct -Wno-nested-anon-types -Wno-gnu-redeclared-enum -Wno-unused-private-field -Wno-undefined-var-template -fvisibility-inlines-hidden -DLDC_POSIX -DIN_LLVM -DOPAQUE_VTBLS "-DLDC_INSTALL_PREFIX=R\"(/usr/local)\"" -DLDC_LLVM_VER=1300 "-DLDC_LIBDIR_SUFFIX=R\"()\"" -DLDC_HOST_GDMD=1 -DLDC_HOST_FE_VER=<stdin> "-DLDC_LLVM_LIBDIR=R\"(/usr/local/llvm13/lib)\"" -DLDC_WITH_LLD -DNDEBUG -MD -MT CMakeFiles/LDCShared.dir/gen/aa.cpp.o -MF CMakeFiles/LDCShared.dir/gen/aa.cpp.o.d -o CMakeFiles/LDCShared.dir/gen/aa.cpp.o -c /wrkdirs/usr/ports/lang/ldc/work/ldc-1.30.0-src/gen/aa.cpp /bin/sh: cannot open stdin: No such file or directory ninja: build stopped: subcommand failed. *** Error code 1 Not sure what is going on here, does not look directly related but could be a second-order effect. =========================================================== devel/leatherman (7 skipped) looks unrelated In file included from /wrkdirs/usr/ports/devel/leatherman/work/.build/src/Catch-1.10.0/single_include/catch.hpp:383: In file included from /usr/include/c++/v1/sstream:186: In file included from /usr/include/c++/v1/istream:165: In file included from /usr/include/c++/v1/ostream:168: In file included from /usr/include/c++/v1/bitset:128: In file included from /usr/include/c++/v1/string:551: In file included from /usr/include/c++/v1/string_view:222: In file included from /usr/include/c++/v1/algorithm:1851: In file included from /usr/include/c++/v1/__algorithm/ranges_sample.h:13: In file included from /usr/include/c++/v1/__algorithm/sample.h:18: /usr/include/c++/v1/__random/uniform_int_distribution.h:235:5: error: static assertion failed due to requirement '__libcpp_random_is_valid_urng<Catch::RandomNumberGenerator, void>::value': static_assert(__libcpp_random_is_valid_urng<_URNG>::value, ""); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/v1/__algorithm/shuffle.h:154:35: note: in instantiation of function template specialization 'std::uniform_int_distribution<long>::operator()<Catch::RandomNumberGenerator>' requested here difference_type __i = __uid(__g, _Pp(0, __d)); ^ /usr/include/c++/v1/__algorithm/shuffle.h:166:14: note: in instantiation of function template specialization 'std::__shuffle<std::_ClassicAlgPolicy, std::__wrap_iter<Catch::TestCase *>, std::__wrap_iter<Catch::TestCase *>, Catch::RandomNumberGenerator &>' requested here (void)std::__shuffle<_ClassicAlgPolicy>( ^ /wrkdirs/usr/ports/devel/leatherman/work/.build/src/Catch-1.10.0/single_include/catch.hpp:7242:18: note: in instantiation of function template specialization 'std::shuffle<std::__wrap_iter<Catch::TestCase *>, Catch::RandomNumberGenerator &>' requested here std::shuffle( vector.begin(), vector.end(), rng ); ^ /wrkdirs/usr/ports/devel/leatherman/work/.build/src/Catch-1.10.0/single_include/catch.hpp:7260:44: note: in instantiation of function template specialization 'Catch::RandomNumberGenerator::shuffle<std::vector<Catch::TestCase>>' requested here RandomNumberGenerator::shuffle( sorted ); ^ 1 error generated. =========================================================== databases/postgresql14-client (5 skipped) databases/postgresql12-client (4 skipped) databases/postgresql15-client (4 skipped) databases/postgresql11-client (4 skipped) same as PR270769 =========================================================== devel/libexplain (4 skipped) looks unrelated libexplain/buffer/errno/acl_set_file.c:198:64: error: incompatible integer to pointer conversion passing 'long' to parameter of type 'const char *' [-Wint-conversion] explain_string_buffer_printf(" (%d > %d)", num, max); ^~~ =========================================================== lang/tcl87 (3 skipped) lang/tcl85 (2 skipped) same as PR270768 =========================================================== math/spooles (2 skipped) looks unrelated: transform.c:294:23: error: incompatible pointer to integer conversion passing 'void *' to parameter of type 'int' [-Wint-conversion] temp = IVinit(nfront, NULL) ; ^~~~ /usr/include/sys/_null.h:34:14: note: expanded from macro 'NULL' #define NULL ((void *)0) ^~~~~~~~~~~ ./../../Utilities/IV.h:139:10: note: passing argument to parameter 'ival' here int ival ^ =========================================================== a bunch more in the list with 2 skipped that all seem unrelated =========================================================== In summary: tcl and postgresql are the only significant failures responsible for skipped ports. Other than those two any failing ports are either leaf ports or cause only one skipped port.
Created attachment 241521 [details] not quite committable patch to fix tcl86 and postgresql* Attached patch should address tcl86 and postgresql*. These are not necessarily the changes that will be committed, but should at least allow these ports to build and thus allow us to determine which if any of the previously skipped ports still have issues.
New failure logs: https://pkg-status.freebsd.org/gohan05/data/mainamd64PR258872-default/2023-04-17_22h40m57s/logs/errors/melonds-qt6-0.9.4_1.log https://pkg-status.freebsd.org/gohan05/data/mainamd64PR258872-default/2023-04-17_22h40m57s/logs/errors/melonds-qt5-0.9.4_1.log https://pkg-status.freebsd.org/gohan05/data/mainamd64PR258872-default/2023-04-17_22h40m57s/logs/errors/libjxl-0.8.1.log https://pkg-status.freebsd.org/gohan05/data/mainamd64PR258872-default/2023-04-17_22h40m57s/logs/errors/racket-8.5_1.log https://pkg-status.freebsd.org/gohan05/data/mainamd64PR258872-default/2023-04-17_22h40m57s/logs/errors/racket-minimal-8.5_1.log https://pkg-status.freebsd.org/gohan05/data/mainamd64PR258872-default/2023-04-17_22h40m57s/logs/errors/tcl85-8.5.19_4.log https://pkg-status.freebsd.org/gohan05/data/mainamd64PR258872-default/2023-04-17_22h40m57s/logs/errors/tcl87-8.7.a5_1.log https://pkg-status.freebsd.org/gohan05/data/mainamd64PR258872-default/2023-04-17_22h40m57s/logs/errors/trlan-201009_11.log https://pkg-status.freebsd.org/gohan05/data/mainamd64PR258872-default/2023-04-17_22h40m57s/logs/errors/astc-encoder-4.4.0.log https://pkg-status.freebsd.org/gohan05/data/mainamd64PR258872-default/2023-04-17_22h40m57s/logs/errors/mtx-1.3.12_1.log https://pkg-status.freebsd.org/gohan05/data/mainamd64PR258872-default/2023-04-17_22h40m57s/logs/errors/netdata-1.38.1.log https://pkg-status.freebsd.org/gohan05/data/mainamd64PR258872-default/2023-04-17_22h40m57s/logs/errors/q-6.0.log https://pkg-status.freebsd.org/gohan05/data/mainamd64PR258872-default/2023-04-17_22h40m57s/logs/errors/bash-static-5.2.15.log https://pkg-status.freebsd.org/gohan05/data/mainamd64PR258872-default/2023-04-17_22h40m57s/logs/errors/stressdisk-1.0.12_12.log https://pkg-status.freebsd.org/gohan05/data/mainamd64PR258872-default/2023-04-17_22h40m57s/logs/errors/sxml-1.0.7.log https://pkg-status.freebsd.org/gohan05/data/mainamd64PR258872-default/2023-04-17_22h40m57s/logs/errors/tk86-8.6.13.log https://pkg-status.freebsd.org/gohan05/data/mainamd64PR258872-default/2023-04-17_22h40m57s/logs/errors/cde-devel-2023.04.01.log Around 1000 ports were skipped due to graphics/libjxl and around 1000 ports were skipped due to x11-toolkits/tk86
Thanks Antoine. misc/mtx looks unrelated: In file included from mtx.c:39: ./mtx.h:225:16: error: expected identifier typedef enum { false, true } boolean; ^ /usr/include/stdbool.h:36:15: note: expanded from macro 'false' #define false 0 ^ In file included from mtx.c:39: ./mtx.h:225:23: error: expected identifier typedef enum { false, true } boolean; ^ /usr/include/stdbool.h:37:14: note: expanded from macro 'true' #define true 1 ^ 2 errors generated. gmake[1]: *** [<builtin>: mtx.o] Error 1 gmake[1]: Leaving directory '/wrkdirs/usr/ports/misc/mtx/work/mtx-1.3.12' *** Error code 1 x11/cde-devel also appears unrelated: configure: error: Please install the following REQUIRED programs: SESSREG ===> Script "configure" failed unexpectedly. Please report the problem to cy@FreeBSD.org [maintainer] and attach the "/wrkdirs/usr/ports/x11/cde-devel/work/cdesktopenv-code-ece21debb/cde/config.log" including the output of the failure of your make command. Also, it might be a good idea to provide an overview of all packages installed on your system (e.g. a /usr/local/sbin/pkg-static info -g -Ea). *** Error code 1 lang/racket is not immediately clear: gmake[5]: Entering directory '/wrkdirs/usr/ports/lang/racket/work/racket-8.5/src/cs/c' /wrkdirs/usr/ports/lang/racket/work/stage/usr/local/bin/racket -Z ../../../../../build/config -X "/wrkdirs/usr/ports/lang/racket/work/stage/usr/local/share/racket/collects" -G "/wrkdirs/usr/ports/lang/racket/work/stage/usr/local/etc/racket" -Z ../../../../../build/config -N "raco" -l- setup --no-user malformed fasl-object header in petite malformed boot file petite gmake[5]: *** [Makefile:669: do-setup-install] Abort trap (core dumped) This could possibly be a 2nd order effect of some difference in objcopy output or similar. Adding olgeni@ to CC for possible comment. PRs opened for all of the remaining issues. tk86 is presumably a similar fix to tcl86. graphics/libjxl will need some investigation.
llvm objcopy/strip bugs: https://github.com/llvm/llvm-project/labels/tools%3Allvm-objcopy%2Fstrip
See also bug 270421 (I can't add to "Depends on" here).
We've had a number of port fixes land, and we have Clang/LLVM 17 in the base system now (which has fixed at least some strip/objcopy/other tools bugs). Can I request another exp-run to see where things stand now?
Some new failure logs: https://pkg-status.freebsd.org/gohan04/data/mainamd64PR258872-default-foo/2024-04-01_17h03m03s/logs/errors/ponscripter-07th-mod-4.0.0_1.log https://pkg-status.freebsd.org/gohan04/data/mainamd64PR258872-default-foo/2024-04-01_17h03m03s/logs/errors/ghc-9.6.4_1.log https://pkg-status.freebsd.org/gohan04/data/mainamd64PR258872-default-foo/2024-04-01_17h03m03s/logs/errors/racket-8.11.1_1.log https://pkg-status.freebsd.org/gohan04/data/mainamd64PR258872-default-foo/2024-04-01_17h03m03s/logs/errors/racket-minimal-8.11.1_1.log https://pkg-status.freebsd.org/gohan04/data/mainamd64PR258872-default-foo/2024-04-01_17h03m03s/logs/errors/tcl90-9.0.b1_1.log https://pkg-status.freebsd.org/gohan04/data/mainamd64PR258872-default-foo/2024-04-01_17h03m03s/logs/errors/rump-20170822_2.log https://pkg-status.freebsd.org/gohan04/data/mainamd64PR258872-default-foo/2024-04-01_17h03m03s/logs/errors/stressdisk-1.0.13_5.log https://pkg-status.freebsd.org/gohan04/data/mainamd64PR258872-default-foo/2024-04-01_17h03m03s/logs/errors/sxml-1.0.7.log
https://github.com/llvm/llvm-project/issues/87654 for games/ponscripter-07th-mod
misc/rump is looking for "GNU" or "BSD" in the output of ar -V IMO this should be addressed upstream rather than perpetuating the user-agent-like hack we've done in lld (which adds "compatible with GNU linkers" in the version output) # For ar, we just check the --version. Works so far. If it breaks, # need to start building archives ... probear () { # Check for GNU/BSD ar if ! ${AR} -V 2>/dev/null | egrep '(GNU|BSD) ar' > /dev/null ; then die Need GNU or BSD ar "(`type ${AR}`)" fi }
tcl addressed via PR270768 PR278896 for misc/rump Everything from comment #24 has a PR now.
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=0e34d099309687f19420c615c5c56c032f30119d commit 0e34d099309687f19420c615c5c56c032f30119d Author: Ed Maste <emaste@FreeBSD.org> AuthorDate: 2024-06-10 15:45:41 +0000 Commit: Ed Maste <emaste@FreeBSD.org> CommitDate: 2024-06-10 15:50:32 +0000 Add WITHOUT_LLVM_BINUTILS src.conf description Before FreeBSD 15 I plan to switch to LLVM_BINUTILS by default. Add the src.conf description now, for the benefit of downstream branches and testing/CI. PR: 258872 [exp-run] Sponsored by: The FreeBSD Foundation tools/build/options/WITHOUT_LLVM_BINUTILS (new) | 17 +++++++++++++++++ 1 file changed, 17 insertions(+)