[Samba] Samba 3.0.0 compile problems (with gssapi headers)

Olaf.Tuinder Olaf.Tuinder at let.uu.nl
Tue Sep 30 15:39:47 GMT 2003


Hello,

I have a compile problem concerning samba-3.0.0 (final) with gssapi on a
Solaris 9 machine. I don't know how to fix this, so any suggestions are
welcome.

Situation:
We use LDAP to authenticate logins of a group of users, so I want to use
this LDAP directory also from samba. (Openldap-2.1.22 was compiled with
BerkeleyDB.4.1, heimdal-0.6 kerberos, and cyrus-sasl-2.1.13).

After a configure of samba-3.0.0 (final) with minimal options (see
configure info below), but inclusion of the libraries that we need later
for OpenLDAP support I get the following type of errors:

...
In file included from include/includes.h:425,
                 from dynconfig.c:21:
/usr/local/heimdal/include/gssapi.h:50: warning: redefinition of
`OM_uint32'
/usr/include/gssapi/gssapi.h:87: warning: `OM_uint32' previously
declared here 
/usr/local/heimdal/include/gssapi.h:52: warning: redefinition of
`gss_uint32'
/usr/include/gssapi/gssapi.h:64: warning: `gss_uint32' previously
declared here
/usr/local/heimdal/include/gssapi.h:64: conflicting types for
`gss_name_t'
/usr/include/gssapi/gssapi.h:57: previous declaration of `gss_name_t'
...  [cut] many many more lines of the same type [cut] ...
make: *** [dynconfig.o] Error 1


There are other gssapi libraries in the box from the SUNWhea SunOS
Header Files package that I cannot de-install without breaking lots of
things. So I provided the lib and include dirs at the configure command
(see below). 

Why does the compilation go wrong, and what can I do to fix the problem?
Suggestions are welcome.

Regards,

	Olaf.



Samba configure and make commands used:
=========================================
We use gcc version 3.2.3.

# cd samba-3.0.0/source
# export PATH=$PATH:/usr/local/bin:/usr/ccs/bin
# export CPPFLAGS="-I/usr/local/openldap/include \
                   -I/usr/local/ssl/include \
                   -I/usr/local/heimdal/include" 
# export LDFLAGS="-L/usr/local/openldap/lib \
                  -R/usr/local/openldap/lib \
                  -L/usr/local/ssl/lib \
                  -R/usr/local/ssl/lib \
                  -L/usr/local/heimdal/lib \
                  -R/usr/local/heimdal/lib"
# ./configure --prefix=/usr/local/samba-3.0.0 \
              --with-smbwrapper \
              --with-included-popt

Apart from some non-fatal configure warnings, it creates the Makefile.

# make
Using FLAGS =  -g -O2 -I./popt -Iinclude
-I/usr/local/src/samba-3.0.0/source/include
-I/usr/local/src/samba-3.0.0/source/ubiqx
-I/usr/local/src/samba-3.0.0/source/smbwrapper  -I.
-I/usr/local/openldap/include -I/usr/local/ssl/include
-I/usr/local/heimdal/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
-I/usr/local/src/samba-3.0.0/source
      LIBS = -lsendfile -lsec -lgen -lresolv -lsocket -lnsl -ldl
      LDSHFLAGS = -G  -L/usr/local/openldap/lib
-R/usr/local/openldap/lib -L/usr/local/ssl/lib -R/usr/local/ssl/lib
-L/usr/local/heimdal/lib -R/usr/local/heimdal/lib
      LDFLAGS = -L/usr/local/openldap/lib -R/usr/local/openldap/lib
-L/usr/local/ssl/lib -R/usr/local/ssl/lib -L/usr/local/heimdal/lib
-R/usr/local/heimdal/lib
Generating smbd/build_options.c
Building include/proto.h
creating /usr/local/src/samba-3.0.0/source/include/proto.h
Building include/wrepld_proto.h
creating /usr/local/src/samba-3.0.0/source/include/wrepld_proto.h
Building include/build_env.h
creating /usr/local/src/samba-3.0.0/source/nsswitch/winbindd_proto.h
creating /usr/local/src/samba-3.0.0/source/web/swat_proto.h
creating /usr/local/src/samba-3.0.0/source/client/client_proto.h
creating /usr/local/src/samba-3.0.0/source/utils/net_proto.h
Compiling dynconfig.c
In file included from include/includes.h:425,
                 from dynconfig.c:21:
/usr/local/heimdal/include/gssapi.h:50: warning: redefinition of
`OM_uint32'
/usr/include/gssapi/gssapi.h:87: warning: `OM_uint32' previously
declared here
/usr/local/heimdal/include/gssapi.h:52: warning: redefinition of
`gss_uint32'
/usr/include/gssapi/gssapi.h:64: warning: `gss_uint32' previously
declared here
/usr/local/heimdal/include/gssapi.h:64: conflicting types for
`gss_name_t'
/usr/include/gssapi/gssapi.h:57: previous declaration of `gss_name_t'
/usr/local/heimdal/include/gssapi.h:76: conflicting types for
`gss_ctx_id_t'
/usr/include/gssapi/gssapi.h:55: previous declaration of `gss_ctx_id_t'
/usr/local/heimdal/include/gssapi.h:78: redefinition of `struct
gss_OID_desc_struct'
... [cut] ... 
In file included from include/includes.h:425,
                 from dynconfig.c:21:
/usr/local/heimdal/include/gssapi.h:340:1: warning:
"GSS_C_CALLING_ERROR_MASK" redefined
In file included from /usr/include/rpc/rpcsec_gss.h:25,
                 from /usr/include/rpc/rpc.h:40,
                 from include/includes.h:375,
                 from dynconfig.c:21:
/usr/include/gssapi/gssapi.h:302:1: warning: this is the location of the
previous definition
In file included from include/includes.h:425,
                 from dynconfig.c:21:
... [cut] ... 
/usr/local/heimdal/include/gssapi.h:746: conflicting types for
`gss_verify'
/usr/include/gssapi/gssapi.h:685: previous declaration of `gss_verify'
/usr/local/heimdal/include/gssapi.h:756: conflicting types for
`gss_seal'
/usr/include/gssapi/gssapi.h:695: previous declaration of `gss_seal'
/usr/local/heimdal/include/gssapi.h:765: conflicting types for
`gss_unseal'
/usr/include/gssapi/gssapi.h:704: previous declaration of `gss_unseal'
make: *** [dynconfig.o] Error 1
=============================================



-- 
Olaf_News @ no-spam let.uu.nl





More information about the samba mailing list