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