[Help-gnutls] gnutls 1.2.3 type conflicts

Daniel dragonheart at gentoo.org
Sun May 1 06:20:46 CEST 2005


As reported in:
http://bugs.gentoo.org/show_bug.cgi?id=90976

gnutls-1.2.3 fails under the following condition:
 ./configure --disable-openpgp-authentication  --without-included-minilzo --without-included-libtasn1 --without-included-opencdk --with-zlib

By trying other options the  --disable-openpgp-authentication seems to be the cause.

The output after the above configure line is:

then mv -f ".deps/gnutls_buffers.Tpo" ".deps/gnutls_buffers.Plo"; else rm -f ".deps/gnutls_buffers.Tpo"; exit 1; fi
 gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../crypto -I../gl -I../includes -I../includes -I./x509 -I../libextra -I../libextra/openpgp/ -I../libextra/opencdk -I./minitasn1 -D_REENTRANT -D_THREAD_SAFE -pipe -MT gnutls_buffers.lo -MD -MP -MF .deps/gnutls_buffers.Tpo -c gnutls_buffers.c  -fPIC -DPIC -o .libs/gnutls_buffers.o
 gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../crypto -I../gl -I../includes -I../includes -I./x509 -I../libextra -I../libextra/openpgp/ -I../libextra/opencdk -I./minitasn1 -D_REENTRANT -D_THREAD_SAFE -pipe -MT gnutls_buffers.lo -MD -MP -MF .deps/gnutls_buffers.Tpo -c gnutls_buffers.c -o gnutls_buffers.o >/dev/null 2>&1
if /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I..  -I../crypto -I../gl -I../includes -I../includes -I./x509 -I../libextra -I../libextra/openpgp/ -I../libextra/opencdk   -I./minitasn1    -D_REENTRANT -D_THREAD_SAFE -pipe    -MT gnutls_handshake.lo -MD -MP -MF ".deps/gnutls_handshake.Tpo" -c -o gnutls_handshake.lo gnutls_handshake.c; \
then mv -f ".deps/gnutls_handshake.Tpo" ".deps/gnutls_handshake.Plo"; else rm -f ".deps/gnutls_handshake.Tpo"; exit 1; fi
 gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../crypto -I../gl -I../includes -I../includes -I./x509 -I../libextra -I../libextra/openpgp/ -I../libextra/opencdk -I./minitasn1 -D_REENTRANT -D_THREAD_SAFE -pipe -MT gnutls_handshake.lo -MD -MP -MF .deps/gnutls_handshake.Tpo -c gnutls_handshake.c  -fPIC -DPIC -o .libs/gnutls_handshake.o
In file included from auth_cert.h:31,
                 from gnutls_handshake.c:45:
../libextra/openpgp/openpgp.h:95: error: conflicting types for 'gnutls_openpgp_key_t'
../includes/gnutls/gnutls.h:597: error: previous declaration of 'gnutls_openpgp_key_t' was here
../libextra/openpgp/openpgp.h:96: error: conflicting types for 'gnutls_openpgp_privkey_t'
../includes/gnutls/gnutls.h:600: error: previous declaration of 'gnutls_openpgp_privkey_t' was here
gnutls_handshake.c: In function `check_server_params':
gnutls_handshake.c:2405: warning: initialization discards qualifiers from pointer target type
gnutls_handshake.c:2431: warning: initialization discards qualifiers from pointer target type
gnutls_handshake.c: In function `_gnutls_remove_unwanted_ciphersuites':
gnutls_handshake.c:2488: warning: assignment discards qualifiers from pointer target type
make[3]: *** [gnutls_handshake.lo] Error 1
make[3]: Leaving directory `/tmp/gnutls-1.2.3/lib'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/tmp/gnutls-1.2.3/lib'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/gnutls-1.2.3'
make: *** [all] Error 2


Differing definitions are:

includes/gnutls/gnutls.h:  typedef struct gnutls_openpgp_key_int *gnutls_openpgp_key_t;
libextra/openpgp/openpgp.h:typedef void *gnutls_openpgp_key_t;

and

--
./lib/gnutls_int.h:typedef int (*gnutls_openpgp_recv_key_func) (struct gnutls_session_int *,
./lib/gnutls_int.h-                                          const unsigned char *keyfpr,
./lib/gnutls_int.h-                                          unsigned int keyfpr_length,
./lib/gnutls_int.h-                                          gnutls_datum_t *);
--
./includes/gnutls/extra.h:typedef int (*gnutls_openpgp_recv_key_func) (gnutls_session_t session,
./includes/gnutls/extra.h-                                           const unsigned char *keyfpr,
./includes/gnutls/extra.h-                                           unsigned int keyfpr_length,
./includes/gnutls/extra.h-                                           gnutls_datum_t *key);

Other typedefs may differ and I haven't traced the purpose of these differences.

-- 
Daniel Black <dragonheart at gentoo.org>
Gentoo Crypto/PPC/dev-embedded/Forensics/NetMon






More information about the Gnutls-help mailing list