"Simon Josefsson" wrote: >> when compiling cURL version 7.19.6, it fails with: >> >> 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' > > Don't include both those header files, gss.h is from GNU > GSS and gssapi/gssapi.h is (probably) from Heimdal. Both > provide a GSS implementation, and if you use both you'll > run into problems. You should be able to just remove the > gssapi/gssapi.h include if you want to use GNU GSS.
Yes, that is it. The error (which is still there in cURL 7.19.7) 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" Thanks. -- Marco Maggi _______________________________________________ Help-gss mailing list Help-gss@gnu.org http://lists.gnu.org/mailman/listinfo/help-gss