> How did you build it?  If you did a standard build, did you run ldconfig?  
> What did the configure run told about libgcrypt?  Check the output of 
> "gpgconf -V".

OK, I tracked it down. libgcrypt 1.11.1 isn't building on my system using the 
Makefile generated by configure. Here's where it fails:
libtool: link: gcc -I/home/vinay/tmp/include -g -O2 -fvisibility=hidden 
-fno-delete-null-pointer-checks -Wall -o t-thread-local t-thread-local.o 
-Wl,--disable-new-dtags  ../src/.libs/libgcrypt.so ../compat/.libs/libcompat.a 
-L/home/vinay/tmp/lib /home/vinay/tmp/lib/libgpg-error.so -Wl,-rpath 
-Wl,/home/vinay/sw/libgcrypt-1.11.1/src/.libs -Wl,-rpath 
-Wl,/home/vinay/tmp/lib -Wl,-rpath -Wl,/home/vinay/tmp/lib
t-thread-local.o: In function `check_thread_local':
/home/vinay/sw/libgcrypt-1.11.1/tests/t-thread-local.c:124: undefined reference 
to `pthread_create'
/home/vinay/sw/libgcrypt-1.11.1/tests/t-thread-local.c:129: undefined reference 
to `pthread_join'
collect2: error: ld returned 1 exit status
Makefile:884: recipe for target 't-thread-local' failed
make[2]: *** [t-thread-local] Error 1
make[2]: Leaving directory '/home/vinay/sw/libgcrypt-1.11.1/tests'

In the Makefile, the recipe to make t-thread-local is:
t-thread-local$(EXEEXT): $(t_thread_local_OBJECTS) 
$(t_thread_local_DEPENDENCIES) $(EXTRA_t_thread_local_DEPENDENCIES)
    @rm -f t-thread-local$(EXEEXT)
    $(AM_V_CCLD)$(LINK) $(t_thread_local_OBJECTS) $(t_thread_local_LDADD) 
$(LIBS)

However, LIBS is the empty string, so there's a -pthread flag missing. Adding 
it in by hand to the Makefile allows the build to complete.
So it looks like a problem with ./configure not specifying -pthread when 
building t-thread-local. Moreover, t-thread-local is new in 1.11.1 - it's not 
present in 1.11.0.
Kind regards,
Vinay Sajip  
_______________________________________________
Gnupg-devel mailing list
[email protected]
https://lists.gnupg.org/mailman/listinfo/gnupg-devel

Reply via email to