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.edumrose@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