From owner-freebsd-current Sun Sep 28 04:18:20 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id EAA26113 for current-outgoing; Sun, 28 Sep 1997 04:18:20 -0700 (PDT) Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.2.228.19]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id EAA26108 for ; Sun, 28 Sep 1997 04:18:11 -0700 (PDT) Received: (from bde@localhost) by godzilla.zeta.org.au (8.8.5/8.6.9) id VAA16774; Sun, 28 Sep 1997 21:13:45 +1000 Date: Sun, 28 Sep 1997 21:13:45 +1000 From: Bruce Evans Message-Id: <199709281113.VAA16774@godzilla.zeta.org.au> To: randyd@nconnect.net, Shimon@i-Connect.Net Subject: RE: Make world failure Cc: current@FreeBSD.ORG Sender: owner-freebsd-current@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk >>... >> /usr/src/usr.bin/make/lst.lib/lstReplace.c >> /usr/src/usr.bin/make/lst.lib/lstSucc.c >> /usr/bin/mkdep: cannot create _mkdep28392: directory nonexistent >> *** Error code 2 >> ... >> I've been digging around for the last 5 hrs or so. I'm Stumped! > >rm -rf /usr/obj/* > >I have been digging too. Not this long, though. When in doubt, blow >/usr/obj. > >Note: There is no logical, mathematical or sceitific reason for the above >(that I am aware of). Haven't you been reading your commit mail? :-) I discussed the bug in cvs-committers yesterday. Perhaps I removed the cc's to the general cvs lists. The diagnosis of a bug in the log message for rev.1.146 was obviously wrong, and the "fix" turned out to introduce the current bug without actually fixing the old one. Now, if the obj directory already exists, then `make' shoots itself in the foot by removing its current directory. Then re-making the obj directory does not help. Untested fix (for -current): diff -c2 Makefile~ Makefile *** Makefile~ Sat Sep 27 01:42:58 1997 --- Makefile Sat Sep 27 01:53:47 1997 *************** *** 223,231 **** @echo "--------------------------------------------------------------" mkdir -p ${WORLDTMP}/usr/bin cd ${.CURDIR}/usr.bin/make && \ ! ${IBMAKE} -I${.CURDIR}/share/mk \ ! ${CLEANDIR} ${OBJDIR} depend && \ ! ${IBMAKE} -I${.CURDIR}/share/mk ${MK_FLAGS} \ ! all install clean cleandepend @echo @echo "--------------------------------------------------------------" --- 223,233 ---- @echo "--------------------------------------------------------------" mkdir -p ${WORLDTMP}/usr/bin + .if !defined(NOCLEAN) || !defined(NOOBJDIR) cd ${.CURDIR}/usr.bin/make && \ ! ${IBMAKE} -I${.CURDIR}/share/mk ${CLEANDIR} ${OBJDIR} ! .endif ! cd ${.CURDIR}/usr.bin/make && \ ! ${IBMAKE} -I${.CURDIR}/share/mk depend && \ ! ${IBMAKE} -I${.CURDIR}/share/mk ${MK_FLAGS} all install @echo @echo "--------------------------------------------------------------" This also removes the superflous final clean and cleandepend steps. Bruce