Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 22 Jan 2002 09:48:57 -0600
From:      mikea <mikea@mikea.ath.cx>
To:        Stephen Montgomery-Smith <stephen@math.missouri.edu>
Cc:        freebsd-stable@FreeBSD.ORG
Subject:   Re: Error in make buildworld
Message-ID:  <20020122094857.A5407@mikea.ath.cx>
In-Reply-To: <3C4D86A0.1BDE2840@math.missouri.edu>; from stephen@math.missouri.edu on Tue, Jan 22, 2002 at 09:34:56AM -0600
References:  <3C4D86A0.1BDE2840@math.missouri.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
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
mikea@mikea.ath.cx
Tired old sysadmin since 1964

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020122094857.A5407>