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.
Can you try to reproduce this with the latest make-3.79.1?
Yes, I can. To reproduce,(passwd is anonymous) cvs -z3 -d :pserver:anonymous.org:/cvsroot login cvs -z3 -d :pserver:anonymous.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
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?
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. :-/
Turns out that this was a Mozilla (NSPR to-be specific) problem with dependencies not being strong enough. Marking Invalid.