On Tue, Jan 22, 2002 at 09:34:56AM -0600, Stephen Montgomery-Smith wrote: > I have recent sources (the most recent CTM delta). I do make -j4 > buildworld > on three different computers. It works on two of them, but on one of > them (the fastest), I get: > > ===> usr.sbin/i4b/ispppcontrol > rm -f .depend > mkdep -f .depend -a -I/usr/obj/usr/src/i386/usr/include > /usr/src/usr.sbin/i4b/ispppcontrol/ispppcontrol.c > cd /usr/src/usr.sbin/i4b/ispppcontrol; make _EXTRADEPEND > echo ispppcontrol: /usr/obj/usr/src/i386/usr/lib/libc.a >> .depend > ===> usr.sbin/i4b/man > ===> usr.sbin/boot0cfg > rm -f .depend > mkdep -f .depend -a -I/usr/obj/usr/src/i386/usr/include > /usr/src/usr.sbin/boot0cfg/boot0cfg.c > cd /usr/src/usr.sbin/boot0cfg; make _EXTRADEPEND > echo boot0cfg: /usr/obj/usr/src/i386/usr/lib/libc.a >> .depend > 1 error > *** Error code 2 > 1 error > *** Error code 2 > 1 error > > I didn't get this problem when I removed the -j4. This computer had a > hard drive failure a few months ago, and the replacement drive is > exceedingly fast. So maybe this computer is "too fast" for -j4 to > work. As computers get faster and faster, maybe more and more people > will have this problem.
This is a known difficulty with multiple make threads. Note that I do _NOT_ call it a problem. It is caused by a thread that needs <foo> getting to the part that expects <foo> to have been built before the thread that actually builds <foo> gets to the build-foo code. I have found that I frequently can reissue the same command and <foo> will get built before it is required by something in another thread, and the make will run to completion the second time. It _will_ _not_ always run to completion, and if the first part of the make code cleans up, so that the make always starts from a clean set of output files, it probably won't run to completion. -- Mike Andrews [EMAIL PROTECTED] Tired old sysadmin since 1964 To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-stable" in the body of the message