[3519] in Athena Bugs
Re: kernel header files
daemon@ATHENA.MIT.EDU (probe@ATHENA.MIT.EDU)
Sat Oct 28 07:44:29 1989
From: probe@ATHENA.MIT.EDU
Date: Sat, 28 Oct 89 07:44:14 -0400
To: probe@ATHENA.MIT.EDU
Cc: bugs@ATHENA.MIT.EDU
In-Reply-To: Richard Basch's message of Sat, 28 Oct 89 07:20:32 -0400,
Reply-To: Richard Basch <probe@ATHENA.MIT.EDU>
From: probe@ATHENA.MIT.EDU
Date: Sat, 28 Oct 89 07:20:32 -0400
Reply-To: Richard Basch <probe@ATHENA.MIT.EDU>
Address: 3 Ames Street Cambridge, MA 02139
Phone: (617) 225-6355
I just got the following errors while compiling a new kernel on paris...
cc -c -S -I. -I../h -DATHENA -DVAX420 -DVAX630 -DP0INVALID -DNIT -DNIP -DCONSIOCTL -DVAXSTAR -DMVAX -DUW -DRPC -DNFS -DAFS -DVFS -DINGRES -DBSD42 -DRVD -DATHENA -DINET -DQUOTA -DKERNEL ../netinet/rvd.c
../netinet/../machineio/../netinet/rvd.h: 16: Can't find include file krb.h
../netinet/../machineio/vdreg.h: 102: Can't find include file krb.h
*** Exit 1
My natural question is why is it trying to include krb.h in the kernel.
This will be fixed by the time that this bug report is received by
anyone else, but I am just logging it...
-Richard
Ok, so it wasn't entirely incorrect. Apparently there is code in the
kernel that requires the Kerberos structures, but only if KERBEROS is
defined, so the construct can still be considered invalid. Also,
vdreg.h and rvd.h had bad constructs for the include files. The
following were the only and always included files:
vdreg.h:
#include "../netinet/rvd.h"
#include "../machineio/vdconst.h"
#include <sys/ioctl.h>
#include <krb.h>
rvd.h:
#include "../netinet/rvdconst.h"
#include <krb.h>
There was no provision for user-code. Admittedly, these will work, but
they are poor constructs, especially if h/ioctl.h changes structure (as
we are planning to do). Again, this has all been fixed and the kernel
now compiles cleanly (well, if KERBEROS is defined, it means that the
kernel is dependent on files in /usr/include, which is not really clean,
but I don't see any way around this for now).
-Richard