Ciao,

  I  am new with  cURL; while  building version  7.19.7 with
--with-gssapi and GNU GSS installed, I get this error:

libtool: compile:  gcc -DHAVE_CONFIG_H -I../include -I../include -I../lib 
-I../lib -I/usr/local/include -I/usr/local/include -I/usr/include/openssl 
-I/usr/include -I/usr/local/include -O3 -march=i686 -mtune=i686 -g0 
-Wno-system-headers -MT krb5.lo -MD -MP -MF .deps/krb5.Tpo -c krb5.c  -fPIC 
-DPIC -o .libs/krb5.o
In file included from /usr/local/include/gss.h:83,
                 from urldata.h:130,
                 from krb5.c:59:
/usr/local/include/gss/api.h:92: error: redefinition of 'struct 
gss_OID_desc_struct'
/usr/local/include/gss/api.h:98: error: redefinition of 'struct 
gss_OID_set_desc_struct'
/usr/local/include/gss/api.h:104: error: redefinition of 'struct 
gss_buffer_desc_struct'
/usr/local/include/gss/api.h:110: error: redefinition of 'struct 
gss_channel_bindings_struct'

the problem is that, while "lib/urldata.h" has this block:

#ifdef HAVE_GSSAPI
# ifdef HAVE_GSSGNU
#  include <gss.h>
# elif defined HAVE_GSSMIT
#  include <gssapi/gssapi.h>
#  include <gssapi/gssapi_generic.h>
# else
#  include <gssapi.h>
# endif
#endif

which  correctly handles mutual  exclusion of  header files,
"lib/krb5.c" does:

#ifdef HAVE_GSSMIT
/* MIT style */
#include <gssapi/gssapi.h>
#include <gssapi/gssapi_generic.h>
#include <gssapi/gssapi_krb5.h>
#else
/* Heimdal-style */
#include <gssapi.h>
#endif

#include "urldata.h"

which does  not.  The code  being as it  is, it seems  to me
that just removing the block:

#ifdef HAVE_GSSMIT
/* MIT style */
#include <gssapi/gssapi.h>
#include <gssapi/gssapi_generic.h>
#include <gssapi/gssapi_krb5.h>
#else
/* Heimdal-style */
#include <gssapi.h>
#endif

from "lib/krb5.c" and keeping:

#include "urldata.h"

in it would fix things.

Thanks.
-- 
Marco Maggi
-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette:  http://curl.haxx.se/mail/etiquette.html

Reply via email to