Bug 9501 - GNU make breaks doing parallel builds
Summary: GNU make breaks doing parallel builds
Status: CLOSED NOTABUG
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: make
Version: 6.2
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Jakub Jelinek
QA Contact:
URL:
Whiteboard:
Keywords:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2000-02-16 22:39 UTC by Chris Seawood
Modified: 2008-05-01 15:37 UTC (History)
2 users (show)

(edit)
Clone Of:
(edit)
Last Closed: 2000-08-31 02:30:14 UTC


Attachments (Terms of Use)

Description Chris Seawood 2000-02-16 22:39:11 UTC
The latest version of GNU make (3.78.1) appears have seriously regressed
with regards to parallel builds.  I'm building Mozilla giving
--enable-nspr-autoconf to configure and running the build as: make
MAKE='make -j5'.  Even running just as: 'make -j5' breaks the build.  Using
the former method worked flawlessly using make 3.76.1 and 3.77.

Comment 1 Jeff Johnson 2000-07-22 12:32:16 UTC
Can you try to reproduce this with the latest make-3.79.1?

Comment 2 Chris Seawood 2000-08-09 18:45:34 UTC
Yes, I can.  To reproduce,(passwd is anonymous)

cvs -z3 -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot login
cvs -z3 -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -r
NSPRPUB_CLIENT_BRANCH NSPR
mkdir mozilla/nsprpub/obj
cd mozilla/nsprpub/obj
../configure --with-mozilla
make MAKE='make -j3'

...
gcc -o prfdcach.o -c   -pipe -ansi -pthread -g -fPIC  -UNDEBUG  -DUSE_AUTOCONF=1
 -DMOZILLA_CLIENT=1 -DDEBUG=1 -DDEBUG_cls=1 -DXP_UNIX=1 -D_POSIX_SOURCE=1 -D_BSD
_SOURCE=1 -D_SVID_SOURCE=1 -DLINUX=1 -DHAVE_LCHOWN=1 -DHAVE_STRERROR=1 -D_REENTR
ANT=1  -DFORCE_PR_LOG -D_PR_PTHREADS -UHAVE_CVAR_BUILT_ON_SEM -D_NSPR_BUILD_ -I.
./../../dist/include -I../../../../pr/include -I../../../../pr/include/private  
../../../../pr/src/io/prfdcach.c
../../../pr/src/io/./prfdcach.c:19: primpl.h: No such file or directory

The error is that the source files cannot find primpl.h which comes from
nsprpub/pr/include/private/ . 
In nsprpub/pr/src/io/Makefile.in, we explicitly set INCLUDES to contain
-I$(topsrcdir)/pr/include/private which is showing up on the command line.

Now, if I downgrade to make 3.77 and do: make -C pr/src/io MAKE='make -j3'
I get no errors.

gcc -o prfdcach.o -c   -pipe -ansi -pthread -g -fPIC  -UNDEBUG  -DUSE_AUTOCONF=1
-DMOZILLA_CLIENT=1 -DDEBUG=1 -DDEBUG_cls=1 -DXP_UNIX=1 -D_POSIX_SOURCE=1
-D_BSD_SOURCE=1 -D_SVID_SOURCE=1 -DLINUX=1 -DHAVE_LCHOWN=1 -DHAVE_STRERROR=1
-D_REENTRANT=1  -DFORCE_PR_LOG -D_PR_PTHREADS -UHAVE_CVAR_BUILT_ON_SEM
-D_NSPR_BUILD_ -I../../../dist/include -I../../../../pr/include
-I../../../../pr/include/private  ../../../../pr/src/io/prfdcach.c


Comment 3 Hans de Goede 2000-08-11 20:16:58 UTC
Hmm, make -j4 works fine for the kernel, are you sure this isn't an mozilla
Makefile bug which happens to be triggered by a newer make version?


Comment 4 Chris Seawood 2000-08-31 02:30:13 UTC
No, I'm not 100% sure.  If it is a mozilla Makefile bug, I'll gladly fix it but
I need to know what it is first. :-/



Comment 5 Chris Seawood 2001-01-08 23:56:41 UTC
Turns out that this was a Mozilla (NSPR to-be specific) problem with
dependencies not being strong enough.  Marking Invalid.



Note You need to log in before you can comment on or make changes to this bug.