Hi Tom, > gcc -std=gnu99 -g -O2 -Wall -o test-fstrcmp test-fstrcmp.o > ../gllib/libgnu.a -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm > ../gllib/libgnu.a(lock.o): In function `glthread_rwlock_init_for_glibc': > /home/tgc/projects/gnulib/build/gllib/glthread/lock.c:46: undefined > reference to `pthread_rwlockattr_init' > /home/tgc/projects/gnulib/build/gllib/glthread/lock.c:53: undefined > reference to `pthread_rwlockattr_setkind_np' > /home/tgc/projects/gnulib/build/gllib/glthread/lock.c:59: undefined > reference to `pthread_rwlockattr_destroy' > collect2: ld returned 1 exit status > make[4]: *** [test-fstrcmp] Error 1 > > Manually linking test-fstrcmp with -pthread then allows the build to > complete.
Thanks for the report. Fixed as follows: 2017-01-31 Bruno Haible <[email protected]> lock: Fix link error (regression from 2017-01-05). * lib/glthread/lock.h [USE_POSIX_THREADS_WEAK]: Declare also pthread_rwlockattr_init, pthread_rwlockattr_setkind_np, pthread_rwlockattr_destroy weak. Reported by Tom G. Christensen <[email protected]>. diff --git a/lib/glthread/lock.h b/lib/glthread/lock.h index 69f6e31..ec16d39 100644 --- a/lib/glthread/lock.h +++ b/lib/glthread/lock.h @@ -139,6 +139,9 @@ extern int glthread_in_use (void); # pragma weak pthread_mutexattr_init # pragma weak pthread_mutexattr_settype # pragma weak pthread_mutexattr_destroy +# pragma weak pthread_rwlockattr_init +# pragma weak pthread_rwlockattr_setkind_np +# pragma weak pthread_rwlockattr_destroy # ifndef pthread_self # pragma weak pthread_self # endif > bump? Sure I understood it's a blocker, but it took me two attempts to find the right solution. Bruno
