On Tue, Jul 22, 2003 at 09:39:41AM -0700, Bill Studenmund wrote:
> ...
> Well, I'm still missing how the broken signal.h got into /usr/include in
> the first place. :-)
>
> build.sh with -D is NOT supposed to put anything in the real /usr/include.
> So nothing should get there until you install the completed build. Since
> it was a broken file, the build should have never completed, thus it
> should have never been installed.
>
> ??
>
> The reason we have destdirs is so that exactly what has happened to you
> doesn't happen.
Ok, lets have a look at the update history of my notebook:
There was a cvs-update on 030716 at 2328.
This was follwed by a compile on 030717 at 0044.
The log of this compile shows:
===> build.sh command: ./build.sh -u -j 3 -m i386 -O /u/NetBSD/arch/i386/obj -D /u/NetBSD/arch/i386/dest -T /u/NetBSD/arch/i386/TOOLS distribution
===> build.sh started: Thu Jul 17 00:44:42 MEST 2003
later:
--- /u/NetBSD/arch/i386/dest/usr/include/signal.h ---
STRIP=/u/NetBSD/arch/i386/TOOLS/bin/i386--netbsdelf-strip /u/NetBSD/arch/i386/TOOLS/bin/nbinstall -N /usr/src/etc -p -r -c -o root -g wheel -m 444 /usr/src/include/signal.h /u/NetBSD/arch/i386/dest/usr/include/signal.h
later again:
In file included from /usr/src/lib/libc/arch/i386/sys/__sigaction14_sigtramp.c:42:
/u/NetBSD/arch/i386/dest/usr/include/signal.h:67: parse error before `int'
*** [__sigaction14_sigtramp.o] Error code 1
Dooh!!!
The last install was done on 030717 at 0115 after cleaning up
the "checkflist: flist inconsistencies found" of the previous compile.
I didn't notice the Error above, as "make -j 3" doesn't stop on errors.
But now it's obvious how the bad signal.h got in place.
Moral of the story: Do NOT use make -j n, n>1 ! Better save than fast...
(or look _really_ hard for "Error"s in the compile log and install only
when there are none! ;-)
-Kurt
Btw: fetching v1.27 or some such of signal.h from the cvs archive to
/usr/include "fixed" the compile...