SOLVED - Compile error with gpgme-1.1.2
rw at rlworkman.net
Wed Sep 13 06:52:52 CEST 2006
Robby Workman wrote:
>> The installed kernel headers are 126.96.36.199, 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 -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
> 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.
Well, it seems that building pth with --enable-pthread=yes
installs /usr/include/pthread.h, which overwrites the one that
was already there. Rebuilding it with pthread=no didn't make a
difference due to the fact that the changed header was not
removed when I removed the first package (since it's part of the
glibc package initially). Copying over the original header from
the glibc package and rebuilding pth with --enable-pthread=no
solved the problem; gpgme built just fine.
More information about the Gnupg-devel