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


Reply via email to