On Nov 5, 2021, at 5:00 PM, Christian Weisgerber <na...@mips.inka.de> wrote: > > I ran another amd64 bulk build with base clang updated to LLVM 13. > I also put in a tentative fix for security/nss. > > Failure logs: > http://build-failures.rhaalovely.net/amd64-clang/2021-11-04/ > > Some very basic triage below. The single biggest problem is linker > failures of this kind: > ld: error: /usr/local/lib/libintl.so.7.0: undefined reference to > pthread_mutexattr_init [--no-allow-shlib-undefined]
libintl has some weak references to pthread’s functions: llvm13$ nm /usr/local/lib/libintl.so.7.0 | grep pthread 00003f80 t pthread_atfork W pthread_cond_broadcast W pthread_cond_destroy W pthread_cond_init W pthread_cond_signal W pthread_cond_wait W pthread_mutex_destroy W pthread_mutex_init W pthread_mutex_lock W pthread_mutex_unlock W pthread_mutexattr_destroy W pthread_mutexattr_gettype W pthread_mutexattr_init W pthread_mutexattr_settype pthread_cond_* and pthread_mutex_* were moved into libc a while ago: https://github.com/openbsd/src/commit/a5511fa9f431600dbd6dc2b46fc4e6b73e7d239c However, pthread_mutexattr_* was not and requires -pthread to pick it up. These ports that are failing will need to link with -pthread or alternatively we need to move pthread_mutexattr_* from libpthread to libc. That does make some sense as pthread_condattr_* was moved over with pthread_cond_*, but pthread_mutexattr_* was not moved over with pthread_mutex_*. > > The most criticial individual port failure is security/pinentry, > which takes out security/gnupg, which prevents hundreds of ports > from being built. > > audio/mpd C++ > audio/scmpc libintl.so.7.0: undefined reference > cad/pcb libintl.so.7.0: undefined reference > chinese/c2t address of register variable requested > devel/libdsm -Werror breaks pthread autoconf test > devel/libgtop2 libintl.so.7.0: undefined reference > devel/qbs qbs segfault > devel/xtensa-lx106-elf/binutils -Werror,-Wunused-but-set-variable > editors/vim,gtk3,lua libintl.so.7.0: undefined reference > games/dopewars libintl.so.7.0: undefined reference > games/eduke32 LLVM ERROR: out of memory > games/lwjgl3 java segfault > games/multimc -Werror,-Wunused-but-set-variable > games/nblood LLVM ERROR: out of memory > graphics/gimp/stable missing dependency glib >= 2.56.2 > graphics/vulkan-validation-layers -Werror,-Wdeprecated-copy > inputmethods/fcitx libintl.so.7.0: undefined reference > lang/dmd can't load library 'libc++abi.so.5.0' > lang/gambit killed: build stuck for 60mn > lang/libv8 mksnapshot segfault > mail/neomutt Unable to find KyotoCabinet > misc/posixtestsuite packaging: <foo>.test does not exist > net/gtk-gnutella Cannot compile against GLib > security/encfs C++ > security/pinentry libintl.so.7.0: undefined reference > sysutils/curlftpfs use of undeclared identifier > sysutils/login_oath -Werror,-Wunused-but-set-variable > textproc/apertium C++ > www/libwebsockets -Werror,-Wunused-but-set-variable > www/tor-browser/browser -Werror,-Wunused-but-set-variable > x11/awesome libexecinfo.so.3.0: undefined reference > x11/fvwm2 libintl.so.7.0: undefined reference > x11/jwm libintl.so.7.0: undefined reference > x11/mate/panel libintl.so.7.0: undefined reference > x11/parcellite packaging: parcellite.mo does not exist > x11/qt5/qtlocation C++ > > -- > Christian "naddy" Weisgerber na...@mips.inka.de >