Krb5-1.4.0-beta 2 used with OpenSSH-3.9p1 - conflicts with netdb.h
Douglas E. Engert
deengert at anl.gov
Mon Dec 13 17:01:40 EST 2004
The krb5 include directory has a netdb.h that conflicts with
the /usr/include/netdb.h
While compiling OpenSSH-3.9p1 on Solaris 5.9 using the
Krb5-1.4.0-beta2 I get the folowing errors:
make[1]: Entering directory `/afs/anl.gov/appl/OpenSSH-3.9/build/sun4x_59/openbsd-compat'
gcc -g -O2 -Wall -Wpointer-arith -Wno-uninitialized -O -I. -I.. -I../../src/openbsd-compat
-I../../src/openbsd-compat/.. -I/afs/anl.gov/appl/OpenSSL-0.9.7e/sun4x_59/include
-I/afs/anl.gov/appl/wrapper-7.6/sun4x_59/include -I/afs/anl.gov/appl/zlib-1.1.4/sun4x_59/include
-DUSE_POSIX_THREADS -I/afs/anl.gov/appl/krb5-1.4.0/sun4x_59/krb5/include -DHAVE_CONFIG_H -c
../../src/openbsd-compat/bsd-arc4random.c
In file included from ../../src/includes.h:154,
from ../../src/openbsd-compat/bsd-arc4random.c:17:
/usr/include/rpc/types.h:39: error: conflicting types for `rpcprog_t'
/afs/anl.gov/appl/krb5-1.4.0/sun4x_59/krb5/include/gssrpc/types.h:126: error: previous declaration of `rpcprog_t'
/usr/include/rpc/types.h:40: error: conflicting types for `rpcvers_t'
/afs/anl.gov/appl/krb5-1.4.0/sun4x_59/krb5/include/gssrpc/types.h:127: error: previous declaration of `rpcvers_t'
/usr/include/rpc/types.h:41: error: conflicting types for `rpcproc_t'
/afs/anl.gov/appl/krb5-1.4.0/sun4x_59/krb5/include/gssrpc/types.h:129: error: previous declaration of `rpcproc_t'
/usr/include/rpc/types.h:42: error: conflicting types for `rpcprot_t'
/afs/anl.gov/appl/krb5-1.4.0/sun4x_59/krb5/include/gssrpc/types.h:128: error: previous declaration of `rpcprot_t'
/usr/include/rpc/types.h:43: error: conflicting types for `rpcport_t'
/afs/anl.gov/appl/krb5-1.4.0/sun4x_59/krb5/include/gssrpc/types.h:130: error: previous declaration of `rpcport_t'
/usr/include/rpc/types.h:44: error: conflicting types for `rpc_inline_t'
/afs/anl.gov/appl/krb5-1.4.0/sun4x_59/krb5/include/gssrpc/types.h:131: error: previous declaration of `rpc_inline_t'
make[1]: *** [bsd-arc4random.o] Error 1
make[1]: Leaving directory `/afs/anl.gov/appl/OpenSSH-3.9/build/sun4x_59/openbsd-compat'
make: *** [openbsd-compat/libopenbsd-compat.a] Error 2
It appears that the Solaris /usr/include/rpc/types.h has:
typedef unsigned long rpcprog_t;
Where as the ./krb5-1.4.0/sun4x_59/krb5/include/gssrpc/types.h has
typedef uint32_t rpcprog_t;
It looks like the wrong netdb.h is being included.
In previous releases, the krb5 include had only:
com_err.h gssapi kerberosIV krb5.h profile.h
krb5-1.4.0 now has:
auth.h auth_unix.h gssapi kerberosIV pmap_clnt.h profile.h rpc_msg.h types.h
auth_gss.h clnt.h gssapi.h krb5.h pmap_prot.h rename.h svc.h xdr.h
auth_gssapi.h com_err.h gssrpc netdb.h pmap_rmt.h rpc.h svc_auth.h
Since when building a krb5 application, is is common to put the
krb5 include before the /usr/include was this intended to use
the krb5 version of netdb.h?
--
Douglas E. Engert <DEEngert at anl.gov>
Argonne National Laboratory
9700 South Cass Avenue
Argonne, Illinois 60439
(630) 252-5444
More information about the krbdev
mailing list