2002-Jul-25
So I tried to build release again. I unset BUILD and set UPDATE=1. Did "make clean" under /usr/src/distrib/utils. Then did "make build" under /usr/src. And that finished 18 minutes later.Then I did a "make release" again. I should have set BUILD_DONE. So it died the same again after 37 minutes:
depend ===> utils/x_sh .//usr/src/distrib/utils/x_sh/mkinit /usr/src/distrib/utils/x_sh/../ ../../bin/sh/alias.c .... .//usr/src/distrib/utils/x_sh/mkinit: not found *** Error code 1So I did a "make distclean" under /usr/src/distrib. A find showed many .o files still. I went into distrib/utils/x_sh and did a "make clean" but it still had many .o files (like alias.o, var.o) and a few binaries, like mkinit, mknode, mksyntax and sh. So I deleted them. It also had obj directory symlinked to /usr/obj/distrib/utils/x_sh. So it looks like that is the problem. As I was told before (31/Jan/2001), when using objdirs, you're not supposed to have any objects in your source directory. So I removed the obj directories under /usr/src/distrib and then did a "make distclean" and the objects were really deleted.
I set BUILD=1 (and UPDATE was already set) and did "make release" under /usr/src. And it finished successfully in 50 minutes. I notice that some of the system uses objdir, but /usr/src/distrib doesn't. All the kernels and base sets were made.
Looked at /usr/src/sys/kern/kern_descrip.c to patch it so it would give parent PID and actual say which file descriptors were closed in "set{u,g}id ... invoked with fd 0, 1, or 2 closed" message. Then I looked at cvs and this was already improved.