[comp.protocols.iso.dev-environ] isode 6.8 installation problems

jak@VIOLET.BERKELEY.EDU (John A. Kunze) (03/22/91)

There are some irritating problems with the installation of ISODE 6.8 that
were reported as bugs in release 6.7.  I'm reporting them again now and
offering my experiences for what they're worth.  The problems occurred
under "4.4BSD", 4.3BSD, and Ultrix 3.1, but not Sun OS 4.1.

Since at least 6.7, the inst-all target tries to make the directories
that you defined in CONFIG.make.  It does it using commands of the form

   echo 'if test ! -d /usr/lib; then mkdir /usr/lib; fi' | sh -ve

There are two purely technical problems with this.  First, the -e option
causes the same problem that I assume the use of echo was meant to avoid,
which is to prevent the "error" return of the test from killing make's
shell, and in turn the make itself.  Even if you remove the -e, the lack
of an "else true;" clause causes the last command status returned by the
"sh" on an unsuccessful test to be the status of that test command, and
this kills the make also.

Other problems associated with establishing these directories are that

(a) only the "leaf" directories are made -- it's just as much work by
hand for me to make sure that the immediate parents exist as it is to
make sure the "leaves" exist, so this "labor-saving" is error prone
and became an annoying waste of time for me; and

(b) the "man" directory is made, but not the man{1,5,8} subdirectories,
so the man pages didn't get installed correctly.

This isn't a major problem, but when a big complicated makefile falls on
its face while taking its first step, it shakes your confidence in the
rest of the release.  I ended up not installing 6.7 for that reason.


	John A. Kunze
	Information Systems and Technology
	293 Evans Hall
	Berkeley, CA  94720

	415-642-1530
	jak@violet.berkeley.edu

mrose@CHEETAH.CA.PSI.COM (Marshall Rose) (03/22/91)

Let me get this straight: you didn't install the software because it
didn't create the man directories???

So, if we do these two things:

1. make the mkdir commands as

   echo 'if test ! -d /usr/lib; then mkdir /usr/lib; else true; fi' | sh -v

2. create the man subdirs.

and we then document the fact that intermediate directories aren't built,
will that explain/fix everything?

/mtr

ps: you really shouldn't use the isode list for reporting bugs.

jak@VIOLET.BERKELEY.EDU (John A. Kunze) (03/22/91)

> Let me get this straight: you didn't install the software because it
> didn't create the man directories???

No, make came up with a a bunch of errors after the directory building
step when I tried to install 6.7.  Among all the error messages at my
disposal, including the known ignorable errors, the only thing I could say
for certain that went wrong was the directory building.  I assumed some
files hadn't gotten installed properly and blamed that step for (perhaps
jumping to conclusions).  After working on it for a while, I never did
get it to pass the tests.

I then reported the bug in 6.7 and installed 6.0.  When it re-appeared,
this time in 6.8, I figured out the rather subtle cause, fixed it and
installed 6.8 with no problems.  Given the hair tearing I went through,
I thought other people might benefit from my experience, or perhaps I
could learn from theirs.  I wouldn't take the trouble if I wasn't so
pleased with ISODE in general, in case I didn't mention that :-).

> ps: you really shouldn't use the isode list for reporting bugs.

Since I hadn't had any acknowledgement from the bug list that it was in
fact a bug, perhaps this was really a "discussion" topic?

> 1. make the mkdir commands as
> 
>    echo 'if test ! -d /usr/lib; then mkdir /usr/lib; else true; fi' | sh -v
> 
> 2. create the man subdirs.
> 
> and we then document the fact that intermediate directories aren't built,
> will that explain/fix everything?

Yup.

-John