kerberos 1.2.3 compile problems on aix 4.3.3
jesse raynor
generalyore at hotmail.com
Wed Feb 27 18:28:36 EST 2002
I had trouble compiling kerberos 1.2.3 on AIX 4.3.3. I got it to build with
cc, which doesn't define __STDC__, but not with xlc, which does. I am using
version 5 of the AIX C compiler.
To build with cc, I cd'ed to the src directory and did:
./configure --prefix=/opt/kerberos --without-krb4
make
By default, cc gets picked as the compiler to use. Eventually the build
dies
under the telnet directory. Here's the last command make tried:
cc -DKRB5_DNS_LOOKUP_KDC=1 -DKRB5_DNS_LOOKUP=1 -DTERMCAP=1 -DUSE_TERMIO=1
-DTIME_WITH_SYS_TIME=1 -DHAVE_STRING_H=1 -DHAVE_ARPA_NAMESER_H=1
-DHAVE_UTMP_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_SYS_STREAM_H=1
-DHAVE_SYS_UTSNAME_H=1 -DHAVE_VSNPRINTF=1 -DSTREAMSPTY=1 -DAUTHENTICATION
-DENCRYPTION -DKRB5 -DFORWARD -UNO_LOGIN_F -ULOGIN_CAP_F
-DLOGIN_PROGRAM=KRB5_PATH_LOGIN -DKLUDGELINEMODE -DDIAGNOSTICS -DENV_HACK
-DOLD_ENVIRON -I../../../include -I./../../../include
-I../../../include/krb5 -I./../../../include/krb5 -I.. -I./.. -c utility.c
"utility.c", line 373.1: 1506-343 (S) Redeclaration of netprintf differs
from previous declaration on line 192 of "ext.h".
"utility.c", line 373.1: 1506-378 (I) Prototype for function netprintf
cannot contain "..." when mixed with a nonprototype declaration.
"utility.c", line 383.1: 1506-343 (S) Redeclaration of netprintf_urg differs
from previous declaration on line 193 of "ext.h".
"utility.c", line 383.1: 1506-378 (I) Prototype for function netprintf_urg
cannot contain "..." when mixed with a nonprototype declaration.
"utility.c", line 393.1: 1506-343 (S) Redeclaration of netprintf_noflush
differs
from previous declaration on line 194 of "ext.h".
"utility.c", line 393.1: 1506-378 (I) Prototype for function
netprintf_noflush cannot contain "..." when mixed with a nonprototype
declaration.
make: 1254-004 The error code from the last command is 1.
Stop.
make: 1254-004 The error code from the last command is 1.
Stop.
make: 1254-004 The error code from the last command is 1.
Stop.
make: 1254-004 The error code from the last command is 1.
Stop.
To make the prototypes match, I changed lines 192-194 of ext.h from
extern void netprintf P((const char *, ...));
extern void netprintf_urg P((const char *fmt, ...));
extern void netprintf_noflush P((const char *fmt, ...));
to
extern void netprintf (const char *, ...);
extern void netprintf_urg (const char *fmt, ...);
extern void netprintf_noflush (const char *fmt, ...);
and then reran make. It finished compiling.
To build with xlc, I cd'ed to the src directory and did:
./configure --prefix=/opt/kerberos --without-krb4 --with-cc=xlc
make
Again, the build dies, and the last command tried is:
xlc -DKRB5_DNS_LOOKUP_KDC=1 -DKRB5_DNS_LOOKUP=1 -DHAVE_SYSLOG_H=1
-DHAVE_OPENLOG=1 -DHAVE_SYSLOG=1 -DHAVE_CLOSELOG=1 -DHAVE_STRFTIME=1
-DHAVE_VSPRINTF=1 -DHAVE_RE_COMP=1 -DHAVE_RE_EXEC=1 -DHAVE_REGEXEC=1
-DHAVE_REGCOMP=1 -DHAVE_SRAND48=1 -DHAVE_SRAND=1 -DHAVE_SRANDOM=1
-DUSE_KADM5_API_VERSION=1 -I../../../include
-I./../../../include -I../../../include/krb5 -I./../../../include/krb5
-UUSE_KADM5_API_VERSION -DUSE_KADM5_API_VERSION=2 -DINIT_TEST -c
-I./../../../lib/kadm5 ./../../../lib/kadm5/clnt/client_init.c
"./../../../lib/kadm5/clnt/client_init.c": 1506-213 (S) Macro name
USE_KADM5_API_VERSION cannot be redefined.
"./../../../lib/kadm5/clnt/client_init.c", line 446.37: 1506-280 (E)
Function argument assignment between types "const char**" and "char**" is
not allowed.
"./../../../lib/kadm5/clnt/client_init.c", line 468.32: 1506-280 (E)
Function argument assignment between types "struct gss_OID_desc_struct*" and
"const struct gss_OID_desc_struct* const" is not allowed.
make: 1254-004 The error code from the last command is 1.
Stop.
make: 1254-004 The error code from the last command is 1.
Stop.
make: 1254-004 The error code from the last command is 1.
Stop.
make: 1254-004 The error code from the last command is 1.
Stop.
I decided to remove -DUSE_KADM5_API_VERSION=1 from the command and run it
directly. I cd'ed to lib/kadm5/unit-test and ran it, and it compiled. I
then
cd'ed back to the toplevel source directory and reran make. It continued a
little, but died again. Here's more output:
making all in lib/kadm5/unit-test...
Target "all" is up to date.
Target "all" is up to date.
Target "all" is up to date.
xlc -DKRB5_DNS_LOOKUP_KDC=1 -DKRB5_DNS_LOOKUP=1 -DHAVE_SYSLOG_H=1
-DHAVE_OPENLOG=1 -DHAVE_SYSLOG=1 -DHAVE_CLOSELOG=1 -DHAVE_STRFTIME=1
-DHAVE_VSPRINTF=1 -DHAVE_RE_COMP=1 -DHAVE_RE_EXEC=1 -DHAVE_REGEXEC=1
-DHAVE_REGCOMP=1 -DHAVE_SRAND48=1 -DHAVE_SRAND=1 -DHAVE_SRANDOM=1
-DUSE_KADM5_API_VERSION=1 -I../../../include
-I./../../../include -I../../../include/krb5 -I./../../../include/krb5
-UUSE_KADM5_API_VERSION -DUSE_KADM5_API_VERSION=2 -c
./../../../lib/kadm5/unit-test/setkey-test.c
"./../../../lib/kadm5/unit-test/setkey-test.c": 1506-213 (S) Macro name
USE_KADM5_API_VERSION cannot be redefined.
"./../../../lib/kadm5/unit-test/setkey-test.c", line 191.47: 1506-280 (E)
Function argument assignment between types "int*" and "unsigned int*" is not
allowed.
make: 1254-004 The error code from the last command is 1.
Stop.
make: 1254-004 The error code from the last command is 1.
Stop.
make: 1254-004 The error code from the last command is 1.
Stop.
make: 1254-004 The error code from the last command is 1.
Stop.
Since this was the same error as before, I removed -DUSE_KADM5_API_VERSION=1
from the command, cd'ed to lib/kadm5/unit-test, and ran it. The file
compiled, and I cd'ed back to the toplevel source directory and reran make.
Compilation continued, but then died. The final output was:
xlc -DKRB5_DNS_LOOKUP_KDC=1 -DKRB5_DNS_LOOKUP=1 -DHAVE_LIBCRYPT=1
-DSTDC_HEADERS=1 -DHAVE_ISATTY=1 -DHAVE_INET_ATON=1 -DHAVE_KILLPG=1
-DHAVE_INITGROUPS=1 -DHAVE_SETPRIORITY=1 -DHAVE_SETREUID=1 -DHAVE_WAITPID=1
-DHAVE_SETSID=1 -DHAVE_PTSNAME=1 -DHAVE_TCGETPGRP=1 -DHAVE_TCSETPGRP=1
-DHAVE_SETPGID=1 -DHAVE_UTIMES=1 -DHAVE_UNISTD_H=1 -DHAVE_STDLIB_H=1
-DHAVE_STRING_H=1 -DHAVE_TTYENT_H=1 -DHAVE_SYS_SELECT_H=1 -DHAVE_UTMP_H=1
-DHAVE_SYS_TIME_H=1 -DHAVE_PATHS_H=1 -DHAVE_ARPA_NAMESER_H=1
-DHAVE_STDARG_H=1 -DHAVE_GETDTABLESIZE=1 -Dkrb5_sigtype=void
-DPOSIX_SIGTYPE=1 -DPOSIX_SIGNALS=1 -DPOSIX_SETJMP=1 -DUSE_DIRENT_H=1
-DWAIT_USES_INT=1 -DPOSIX_TERMIOS=1 -DHAVE_SETUTENT=1 -DHAVE_SETUTXENT=1
-DHAVE_UPDWTMP=1 -DHAVE_STREAMS=1 -DHAVE_SETOWN=1 -DHAVE_ETC_ENVIRONMENT=1
-DKRB5_PROVIDE_PROTOTYPES=1 -DKRB5_PATH_RLOGIN=\"/opt/kerberos/bin/rlogin\"
-DUCB_RLOGIN=\"/bin/rlogin\" -DUCB_RSH=\"/bin/rsh\" -DUCB_RCP=\"/bin/rcp\"
-DLOGIN_PROGRAM=\"/opt/kerberos/sbin/login.krb5\"
-DKPROGDIR=\"/opt/kerberos/bin\" -I../../include -I./../../include
-I../../include/krb5 -I./../../include/krb5 -DKERBEROS -c krlogind.c
"/usr/include/arpa/onameser_compat.h", line 114.9: 1506-213 (S) Macro name
NOERROR cannot be redefined.
"/usr/include/arpa/onameser_compat.h", line 114.9: 1506-358 (I) "NOERROR" is
defined on line 344 of /usr/include/sys/stream.h.
"krlogind.c", line 529.59: 1506-280 (E) Function argument assignment between
types "unsigned long*" and "int*" is not allowed.
"krlogind.c", line 551.56: 1506-280 (E) Function argument assignment between
types "unsigned long*" and "int*" is not allowed.
"krlogind.c", line 558.54: 1506-280 (E) Function argument assignment between
types "unsigned long*" and "int*" is not allowed.
"krlogind.c", line 1039.39: 1506-280 (E) Function argument assignment
between types "char*" and "unsigned char*" is not allowed.
"krlogind.c", line 1127.39: 1506-280 (E) Function argument assignment
between types "char*" and "unsigned char*" is not allowed.
"krlogind.c", line 1391.54: 1506-280 (E) Function argument assignment
between types "unsigned long*" and "int*" is not allowed.
"krlogind.c", line 1396.56: 1506-280 (E) Function argument assignment
between types "unsigned long*" and "int*" is not allowed.
"krlogind.c", line 1489.57: 1506-280 (E) Function argument assignment
between types "unsigned long*" and "int*" is not allowed.
make: 1254-004 The error code from the last command is 1.
Stop.
make: 1254-004 The error code from the last command is 1.
Stop.
make: 1254-004 The error code from the last command is 1.
Stop.
_________________________________________________________________
Join the worlds largest e-mail service with MSN Hotmail.
http://www.hotmail.com
More information about the Kerberos
mailing list