Excerpts from Allan McRae's message of 2011-12-09 23:04:54 +0100:
On 10/12/11 07:29, Ionut Biru wrote:
On 12/09/2011 09:25 PM, Philipp wrote:
Hi there, I have linking issues with one of the programs I maintain in AUR and I don't quite understand the issue. Here's the output:
g++ -Wl,-O1,--sort-common,--as-needed,-z,relro,--hash-style=gnu -L/usr/X11R6/lib -o jmeters jmeters.o styles.o mainwin.o jclient.o mkimage.o meterwin.o -lsndfile -lclxclient -lclthreads -ljack -lpng -lXft -lX11 -lrt /usr/bin/ld: jmeters.o: undefined reference to symbol 'pthread_mutex_trylock@@GLIBC_2.2.5' /usr/bin/ld: note: 'pthread_mutex_trylock@@GLIBC_2.2.5' is defined in DSO /lib/libpthread.so.0 so try adding it to the linker command line /lib/libpthread.so.0: could not read symbols: Invalid operation collect2: ld returned 1 exit status make: *** [jmeters] Error 1
The program is jmeters (https://aur.archlinux.org/packages.php?ID=25711).
It depends on clthreads (https://aur.archlinux.org/packages.php?ID=3627) which handles the threading stuff.
I wonder where this problem comes from. Needles to say that it worked fine in the past. Any ideas?
Regards, Philipp
sounds like you don't have a fully up to date toolchain
Actually, it sounds like he does have a fully up-to-date toolchain: http://fedoraproject.org/wiki/UnderstandingDSOLinkChange
The output also gives the fix...
/usr/bin/ld: note: 'pthread_mutex_trylock@@GLIBC_2.2.5' is defined in DSO /lib/libpthread.so.0 so try adding it to the linker command line
Allan
Thanks, adding -lpthread helped in this case. I'm not looking forward to patching possibly all the other programs I maintain. Regards, Philipp