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
> 

Reply via email to