From: prb@ATHENA.MIT.EDU To: krb5-testers@ATHENA.MIT.EDU Date: Tue, 09 Oct 90 17:46:35 EDT Here is my "grumbles" file from trying to build Kerberos V5 on the Cray 2 at M.I.T. I am sure this file will grow, but I'll send it out now anyhow. -Paul Borman Cray Research, Inc prb@cray.com prb@athena.mit.edu Comerr does not work for system V systems com_err_hook is redefined... No strcasecmp No rindex Main Imakefile refers to: ../comerr ../ss should be ./comerr ./ss Main Imakefile tries to link ln ./ss include/ss but ss is a directory and cannot be linked on some systems... The Project.tmpl refers to: $(ISODE)/@sys/bin/pepy It should not make any reference to the AFS @sys macro since that is not the usual case for most sites... All the ISODE should be pre processed here. Include all the stuff to do it yourself, but do not require isode system to build kerberos. Kerberos is depending on too many different non-standards things. The ISODE stuff doesn't even work on a Cray (I tried to build it, but it is severly broken) Perl needs to be included in the distribution. It is not standard with UNIX. THERE ARE TOO MANY NON-STANDARD THINGS IN KERBEROS V5. krb5/krb5.h and krb5/sysincl.h both include <sys/types.h> and isode/manifest.h and isode/x25.h You just can't do that on non-bsd systems asn.1/u2gen.c does not includ time.h lib/Imakefile has: NormalLibraryObjectRule() SUBDIRS = ccache keytab krb rcache free os kdb des crc-32 It must be: (note the blank line) NormalLibraryObjectRule() SUBDIRS = ccache keytab krb rcache free os kdb des crc-32 Had to add to lib/ccache/file/fcc.h lib/rcache/rc_io.h #ifdef SYSV #include <sys/fcntl.h> #endif #ifndef L_SET #define L_SET 0 /* absolute offset */ #define L_INCR 1 /* relative to current offset */ #define L_XTND 2 /* relative to end of file */ #endif ELOOP and ENAMETOOLONG are not in all systems. EDQUOT lib/rcache/rc_dfl.h has: krb5_rc_ops krb5_rc_dfl_ops; /* initialized to the following */ needs to be: extern krb5_rc_ops krb5_rc_dfl_ops; /* initialized to the following */
Date: Tue, 9 Oct 90 18:35:06 -0400 From: John T Kohl <jtkohl@ATHENA.MIT.EDU> To: prb@ATHENA.MIT.EDU, krb5-testers@ATHENA.MIT.EDU In-Reply-To: [16] I'm working on addressing some of those problems: >The Project.tmpl refers to: > $(ISODE)/@sys/bin/pepy cleaned up; Project.tmpl now uses "pepy" and site.def redefines it to .../@sys/... (for Athena) >Perl needs to be included in the distribution. It is not standard with >UNIX. It's not needed, just an optimization; I'll make it an option in the Imakefile stuff. >asn.1/u2gen.c does not includ time.h This is because ISODE provides its own time.h. >lib/Imakefile has: fixed. >lib/rcache/rc_dfl.h has: fixed. I'm also going to play around more with the libss and libcom_err stuff to get the includes to work right. John
Date: Wed, 10 Oct 90 03:10:41 GMT From: brnstnd@KRAMDEN.ACF.NYU.EDU (Dan Bernstein) To: brnstnd@nyu.edu, krb5-testers@ATHENA.MIT.EDU > THERE ARE TOO MANY NON-STANDARD THINGS IN KERBEROS V5. Quite true, but there are too many necessary features (such as reliable disk writes) that aren't ``standard'' between UNIX systems. The best we can do is #ifdef the nonstandard parts. The next best we can do is hope that everyone will start using POSIX. > lib/rcache/rc_dfl.h has: > krb5_rc_ops krb5_rc_dfl_ops; /* initialized to the following */ > needs to be: > extern krb5_rc_ops krb5_rc_dfl_ops; /* initialized to the following */ Why? Doesn't this only fail on broken linkers? The change is fine for readability, but I don't understand why it's necessary... ---Dan