Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 22 Jan 2002 14:12:38 -0600
From:      Stephen Montgomery-Smith <stephen@math.missouri.edu>
To:        mikea <mikea@mikea.ath.cx>
Cc:        freebsd-stable@FreeBSD.ORG
Subject:   Re: Error in make buildworld
Message-ID:  <3C4DC7B6.B6C55696@math.missouri.edu>
References:  <3C4D86A0.1BDE2840@math.missouri.edu> <20020122094857.A5407@mikea.ath.cx>

next in thread | previous in thread | raw e-mail | index | archive | help
mikea wrote:
> 
> 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.
> 

But shouldn't the make wait until the first thread finishes before
starting the dependent thread?

(But I guess if the computer is really fast, it doesn't matter if you
don't have -j4.  make buildworld takes 45 minutes on the "fast"
machine.)

-- 
Stephen Montgomery-Smith
stephen@math.missouri.edu
http://www.math.missouri.edu/~stephen

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?3C4DC7B6.B6C55696>