Operating systems notes.... this file contains notes about various
different operating systems and some quirks that you have to be aware
of when compiling for them.

--------------------------------------------------------------------------
Alpha OSF/1 V2.0

md4.c can not be compiled with the optimizer on.  (Could it possibly
be the same bug as the Dec Ultrix bug?  The bug report makes it sound
identical!)

(Reported by Marc Kenig)

--------------------------------------------------------------------------

BSDI 

BSDI reportedly has a bad sed which causes it to go into an infinite
loop during the build.  The workaround is to get a sed from somewhere
else, such as GNU.

------------------------------------------------------------------------
Solaris versions 2.0 through 2.3:

The gethostbyname() routine is broken; it does not return a fully
qualified domain name, even if you are using the DNS.  Since Kerberos
V5 uses the fully qualified domain name as the second component of a
service principal (i.e, "host/tsx-11.mit.edu@ATHENA.MIT.EDU), this
causes problems for servers who try to figure out their own fully
qualified domain name.  (It turns out clients win because Kerberos
calls gethostbyname() and then calls gethostbyaddr() on the address,
and SunSoft didn't screw up gethostbyaddr() except when it is your own
local hostname!)

Workarounds:  

1)  Supply your own resolver library.

2)  Upgrade to Solaris 2.4

3)  Make sure your /etc/nsswitch.conf has the line:

	hosts:      files dns

and then in /etc/hosts, make sure there is a line with your
workstation's IP address and hostname, with the fully qualified domain
name first.  Example:

	18.172.1.4      dcl.mit.edu dcl

--------------------------------------------------------------------------

Solaris 2.X:

You *must* compile Kerberos V5 *without* the UCB compatibility libraries.  

This means that /usr/ucblib must *not* be in the LD_LIBRARY_PATH
environment variable when you compile it.  

Alternatively you can place the -i option on the cc line.  So you can
put --with-ccopts=-i on the configure line.  (Thanks to Dan Nessett
for this suggestion.

--------------------------------------------------------------------------

Ultrix 4.2/3 (Decstation Mips)

md4.c and md5.c can not be compiled with the optimizer set at level 1.
(Either -O or -g will work; leaving ccopts blank won't.)  The
optimizer isn't hung; it just takes a long time, due to an exponential
time bug.  Calculations estimate around something like 4 billion
years.  :-)

