Hi Daniel, > > Tell the package maintainers to import the gnulib module 'pthread- > > rwlock'. It will deal with the missing PTHREAD_RWLOCK_INITIALIZER; > > this issue occurs also on some older Solaris versions. > > If I omit that fragment, I get this build error: > > source='/tmp/testdir/gltests/test-pthread.c' object='test-pthread.o' > libtool=no \ > DEPDIR=.deps depmode=aix /bin/sh /tmp/testdir/build-aux/depcomp \ > xlc-wrap -DHAVE_CONFIG_H -DEXEEXT=\"\" -I. -I/tmp/testdir/gltests -I.. > -DGNULIB_STRICT_CHECKING=1 -DIN_GNULIB_TESTS=1 -I. -I/tmp/testdir/gltests > -I.. -I/tmp/testdir/gltests/.. -I../gllib -I/tmp/testdir/gltests/../gllib > -D_UNIX95_THREADS -D_XOPEN_SOURCE=600 -DNSIG=39 -qhaltonmsg=CCN3296 -g -q64 > -qfloat=ieee -qlanglvl=extc99 -qenumsize=4 -c -o test-pthread.o > /tmp/testdir/gltests/test-pthread.c > ERROR CCN3221 /tmp/testdir/gltests/test-pthread.c:35 Initializer must > be a valid constant expression. > WARNING CCN3196 /tmp/testdir/gltests/test-pthread.c:56 Initialization > between types "void*" and "unsigned long" is not allowed. > CCN0793(I) Compilation failed for file > /tmp/testdir/gltests/test-pthread.c. Object file not created. > make[4]: *** [test-pthread.o] Error 12 > > I don't see "PTHREAD_RWLOCK_INITIALIZER_NP" anywhere in a clean Gnulib > tree, so I'm not sure how this could already be addressed...
The gnulib module 'pthread-rwlock' fixes this issue in a platform-independent way (by overriding pthread_rwlock_t). That's the reason why you don't see PTHREAD_RWLOCK_INITIALIZER_NP in the gnulib source code. Bruno