Compile error with gpgme-1.1.2

Robby Workman rw at rlworkman.net
Wed Sep 13 02:16:00 CEST 2006


Robby Workman wrote:
> While attempting to compile gpgme 1.1.2, I encountered this error:  
> http://rlworkman.net/linux/gpgme_error_1
> 
> For those who don't want to click links, the first part of the actual 
> error is:
> 
> In file included from ath-pthread.c:36:
> /usr/include/pthread.h:285: error: conflicting types for 'pthread_t'
> /usr/include/bits/pthreadtypes.h:150: error: previous declaration of 
> 'pthread_t' was here
> 
> In searching the archives, I found something similar to this from back 
> in 2005:
> http://lists.gnupg.org/pipermail/gpa-dev/2005-September/002322.html
> However, a fix was committed in 1.1.0 (iirc) according to the ChangeLog.
> 
> Other likely relevant information:
> pth was compiled with --prefix=/usr --sysconfdir=/etc 
> --enable-shared=yes --enable-static=no --enable-pthread originally; 
> however, I have rebuilt it with --disable-pthread and then attempted 
> gpgme afterward, but the same error occurs.
> The installed kernel headers are 2.4.33.3, and glibc is version 2.3.6.  
> OS is Slackware -current (11.0rc4+).

I'm replying to my own post, as I've done a few more things to 
try and get better information.  I've built (in this order) 
libgpg-error 1.3, libksba 1.0.0, libassuan 0.6.10, libgcrypt 
1.2.3, pth 2.0.7, pinentry 0.7.2, dirmngr 0.9.6, and gnupg 
1.9.22.  Unless I've missed something, those are the most recent 
versions of each one.  Now, when trying to build gpgme 1.1.2, I 
get the following error.

gcc -shared  .libs/ath.o .libs/funopen.o -Wl,--whole-archive 
./.libs/libgpgme-real.a ../assuan/.libs/libassuan.a 
-Wl,--no-whole-archive  /usr/lib/libgpg-error.so  -march=i486 
-mtune=i686 -Wl,--version-script=./libgpgme.vers -Wl,-soname 
-Wl,libgpgme.so.11 -o .libs/libgpgme.so.11.6.1
(cd .libs && rm -f libgpgme.so.11 && ln -s libgpgme.so.11.6.1 
libgpgme.so.11)
(cd .libs && rm -f libgpgme.so && ln -s libgpgme.so.11.6.1 
libgpgme.so)
creating libgpgme.la
(cd .libs && rm -f libgpgme.la && ln -s ../libgpgme.la libgpgme.la)
if /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H 
-I. -I. -I..  -I../assuan    -O2 -march=i486 -mtune=i686 -Wall 
-Wcast-align -Wshadow -Wstrict-prototypes -MT ath-pthread.lo -MD 
-MP -MF ".deps/ath-pthread.Tpo" -c -o ath-pthread.lo ath-pthread.c; \
         then mv -f ".deps/ath-pthread.Tpo" 
".deps/ath-pthread.Plo"; else rm -f ".deps/ath-pthread.Tpo"; exit 
1; fi
  gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../assuan -O2 -march=i486 
-mtune=i686 -Wall -Wcast-align -Wshadow -Wstrict-prototypes -MT 
ath-pthread.lo -MD -MP -MF .deps/ath-pthread.Tpo -c ath-pthread.c 
  -fPIC -DPIC -o .libs/ath-pthread.o
In file included from ath-pthread.c:36:
/usr/include/pthread.h:285: error: conflicting types for 'pthread_t'
/usr/include/bits/pthreadtypes.h:150: error: previous declaration 
of 'pthread_t' was here
/usr/include/pthread.h:286: error: conflicting types for 
'pthread_attr_t'
/usr/include/bits/pthreadtypes.h:52: error: previous declaration 
of 'pthread_attr_t' was here
/usr/include/pthread.h:287: error: conflicting types for 
'pthread_key_t'
/usr/include/bits/pthreadtypes.h:80: error: previous declaration 
of 'pthread_key_t' was here
/usr/include/pthread.h:289: error: conflicting types for 
'pthread_mutexattr_t'
/usr/include/bits/pthreadtypes.h:100: error: previous declaration 
of 'pthread_mutexattr_t' was here
/usr/include/pthread.h:290: error: conflicting types for 
'pthread_mutex_t'
/usr/include/bits/pthreadtypes.h:93: error: previous declaration 
of 'pthread_mutex_t' was here
/usr/include/pthread.h:291: error: conflicting types for 
'pthread_condattr_t'
/usr/include/bits/pthreadtypes.h:77: error: previous declaration 
of 'pthread_condattr_t' was here
/usr/include/pthread.h:292: error: conflicting types for 
'pthread_cond_t'
/usr/include/bits/pthreadtypes.h:70: error: previous declaration 
of 'pthread_cond_t' was here
/usr/include/pthread.h:293: error: conflicting types for 
'pthread_rwlockattr_t'
/usr/include/bits/pthreadtypes.h:126: error: previous declaration 
of 'pthread_rwlockattr_t' was here
/usr/include/pthread.h:294: error: conflicting types for 
'pthread_rwlock_t'
/usr/include/bits/pthreadtypes.h:118: error: previous declaration 
of 'pthread_rwlock_t' was here
/usr/include/pthread.h:357: error: conflicting types for 
'pthread_kill'
/usr/include/bits/sigthread.h:36: error: previous declaration of 
'pthread_kill' was here
/usr/include/pthread.h:357: error: conflicting types for 
'pthread_kill'
/usr/include/bits/sigthread.h:36: error: previous declaration of 
'pthread_kill' was here
ath-pthread.c: In function `_gpgme_ath_connect':
ath-pthread.c:161: warning: passing arg 2 of `__pthread_connect' 
discards qualifiers from pointer target type
make[3]: *** [ath-pthread.lo] Error 1
make[3]: Leaving directory `/tmp/build/gpgme-1.1.2/gpgme'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/tmp/build/gpgme-1.1.2/gpgme'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/build/gpgme-1.1.2'
make: *** [all] Error 2


I've tried this after building pth both with and without pthreads 
enabled (and rebuilding everything that depends on it afterward), 
and it makes no difference either way.

Am I missing something obvious (both in looking at the sources 
and/or otherwise), and if so, can someone please pop me with a 
cluestick?  :)

RW

-- 

http://rlworkman.net



More information about the Gnupg-devel mailing list