Compile problems on Solaris 2.6

Danny Mayer mayer at ntp.isc.org
Tue Oct 31 08:05:32 EST 2006


tomaddox at gmail.com wrote:
> To follow up, I started pulling out references to IPV6 and INET6
> whenever they caused make to fail.  Now I'm getting the following
> errors in addrinfo-test.c:
> 
> making all in tests/resolve...
> make[2]: Entering directory `/zircon/opt/krb5-1.5.1/src/tests/resolve'
> gcc -DPACKAGE_NAME=\"Kerberos\ 5\" -DPACKAGE_TARNAME=\"krb5\"
> -DPACKAGE_VERSION=\"1.5.1\" -DPACKAGE_STRING=\"Kerberos\ 5\ 1.5.1\"
> -DPACKAGE_BUGREPORT=\"krb5-bugs at mit.edu\" -DHAVE_BT_RSEQ=1
> -DHAVE_LIBNSL=1 -DHAVE_LIBSOCKET=1 -DKRB5_DNS_LOOKUP_KDC=1
> -DKRB5_DNS_LOOKUP=1 -DHAVE_LIBRESOLV=1 -DHAVE_DN_SKIPNAME=1
> -DHAVE_RES_SEARCH=1 -DHAVE_PRAGMA_WEAK_REF=1 -DDELAY_INITIALIZER=1
> -DCONSTRUCTOR_ATTR_WORKS=1 -DDESTRUCTOR_ATTR_WORKS=1 -DENABLE_THREADS=1
> -DHAVE_PTHREAD=1 -DHAVE_PTHREAD_ONCE=1 -DUSE_DLOPEN=1 -DHAVE_REGCOMP=1
> -DSTDC_HEADERS=1 -DHAVE_STRCHR=1 -DHAVE_SYS_TYPES_H=1
> -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1
> -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1
> -DHAVE_UNISTD_H=1 -DHAVE_UNISTD_H=1 -DHAVE_STDLIB_H=1
> -DHAVE_SYS_PARAM_H=1 -DHAVE_SYS_SOCKET_H=1 -DHAVE_DLFCN_H=1
> -DHAVE_SEMAPHORE_H=1 -DRETSIGTYPE=void -DPOSIX_SIGNALS=1
> -I../../include -I./../../include  -DKRB5_DEPRECATED=1 -DKRB5_PRIVATE=1
>  -g -O2 -Wall -Wmissing-prototypes -Wcast-qual  -Wcast-align
> -Wconversion -Wshadow -pedantic -D_REENTRANT -pthreads -c
> fake-addrinfo-test.c
> addrinfo-test.c: In function `protoname':
> addrinfo-test.c:62: error: `IPPROTO_NONE' undeclared (first use in this
> function)
> addrinfo-test.c:62: error: (Each undeclared identifier is reported only
> once
> addrinfo-test.c:62: error: for each function it appears in.)
> addrinfo-test.c: In function `usage':
> addrinfo-test.c:109: warning: string length `539' is greater than the
> length `509' ISO C89 compilers are required to support
> addrinfo-test.c: In function `main':
> addrinfo-test.c:132: error: storage size of 'hints' isn't known
> addrinfo-test.c:197: error: `AI_PASSIVE' undeclared (first use in this
> function)
> addrinfo-test.c:205: error: `AI_CANONNAME' undeclared (first use in
> this function)
> addrinfo-test.c:246: warning: implicit declaration of function
> `getaddrinfo'
> addrinfo-test.c:248: error: `EAI_SYSTEM' undeclared (first use in this
> function)
> addrinfo-test.c:248: warning: implicit declaration of function
> `gai_strerror'
> addrinfo-test.c:258: error: dereferencing pointer to incomplete type
> addrinfo-test.c:259: error: `NI_MAXHOST' undeclared (first use in this
> function)
> addrinfo-test.c:259: error: `NI_MAXSERV' undeclared (first use in this
> function)
> addrinfo-test.c:263: error: dereferencing pointer to incomplete type
> addrinfo-test.c:265: error: dereferencing pointer to incomplete type
> addrinfo-test.c:265: error: dereferencing pointer to incomplete type
> addrinfo-test.c:266: error: dereferencing pointer to incomplete type
> addrinfo-test.c:266: error: dereferencing pointer to incomplete type
> addrinfo-test.c:268: error: dereferencing pointer to incomplete type
> addrinfo-test.c:268: error: dereferencing pointer to incomplete type
> addrinfo-test.c:270: warning: implicit declaration of function
> `getnameinfo'
> addrinfo-test.c:270: error: dereferencing pointer to incomplete type
> addrinfo-test.c:270: error: dereferencing pointer to incomplete type
> addrinfo-test.c:271: error: `NI_NUMERICHOST' undeclared (first use in
> this function)
> addrinfo-test.c:271: error: `NI_NUMERICSERV' undeclared (first use in
> this function)
> addrinfo-test.c:275: error: dereferencing pointer to incomplete type
> addrinfo-test.c:276: error: dereferencing pointer to incomplete type
> addrinfo-test.c:277: error: dereferencing pointer to incomplete type
> addrinfo-test.c:277: warning: void format, addrinfo arg (arg 2)
> addrinfo-test.c:278: error: dereferencing pointer to incomplete type
> addrinfo-test.c:279: error: dereferencing pointer to incomplete type
> addrinfo-test.c:280: error: dereferencing pointer to incomplete type
> addrinfo-test.c:288: error: dereferencing pointer to incomplete type
> addrinfo-test.c:288: error: dereferencing pointer to incomplete type
> addrinfo-test.c:289: error: `NI_NAMEREQD' undeclared (first use in this
> function)
> addrinfo-test.c:259: warning: unused variable `hbuf'
> addrinfo-test.c:259: warning: unused variable `pbuf'
> addrinfo-test.c:132: warning: unused variable `hints'
> make[2]: *** [addrinfo-test.o] Error 1
> make[2]: *** Waiting for unfinished jobs....
> In file included from fake-addrinfo-test.c:2:
> addrinfo-test.c: In function `protoname':
> addrinfo-test.c:62: error: `IPPROTO_NONE' undeclared (first use in this
> function)
> addrinfo-test.c:62: error: (Each undeclared identifier is reported only
> once
> addrinfo-test.c:62: error: for each function it appears in.)
> addrinfo-test.c: In function `usage':
> addrinfo-test.c:109: warning: string length `539' is greater than the
> length `509' ISO C89 compilers are required to support
> addrinfo-test.c: In function `main':
> addrinfo-test.c:271: warning: passing arg 2 of `krb5int_getnameinfo' as
> signed due to prototype
> addrinfo-test.c:277: warning: void format, my_fake_addrinfo arg (arg 2)
> addrinfo-test.c:289: warning: passing arg 2 of `krb5int_getnameinfo' as
> signed due to prototype
> make[2]: *** [fake-addrinfo-test.o] Error 1
> make[2]: Leaving directory `/zircon/opt/krb5-1.5.1/src/tests/resolve'
> make[1]: *** [all-recurse] Error 1
> make[1]: Leaving directory `/zircon/opt/krb5-1.5.1/src/tests'
> make: *** [all-recurse] Error 1
> 
> Any thoughts on these?
> 

We implement a version of getaddrinfo() in ntp which is meant for those
systems that do have support for getaddrinfo() and friends. You need
those functions since the kerberos package assumes you have them. We
keep this in libntp/ntp_rfc2553.c and include/ntp_rfc2553.h. You can
pick up a copy of NTP if you don't have it (you should if you are
running kerberos) from our web site at http://ntp.isc.org/ and look for
the download link. Most of the symbols you need are defined in the
header file, though you may still need to roll some of your own.

Danny



More information about the Kerberos mailing list