Bug 34846

Summary: webkitgtk-1.1.21 fails to build with "-j4"
Product: WebKit Reporter: Bastien Nocera <bugzilla>
Component: WebKitGTKAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: dan, mrobinson
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: PC   
OS: OS X 10.5   

Description Bastien Nocera 2010-02-11 08:40:03 PST
Some dependency problems in the Makefiles I would think:

+ make -j4
/usr/bin/bison -d -p jscyy ./JavaScriptCore/parser/Grammar.y -o DerivedSources/Grammar.cpp > bison_out.txt 2>&1
/usr/bin/perl JavaScriptCore/create_hash_table JavaScriptCore/parser/Keywords.table > DerivedSources/Lexer.lut.h
  GEN    stamp-webkitenumtypes.h
/usr/bin/perl JavaScriptCore/create_hash_table JavaScriptCore/runtime/ArrayPrototype.cpp -i > JavaScriptCore/runtime/ArrayPrototype.lut.h
/bin/sh: DerivedSources/Lexer.lut.h: No such file or directory
make: *** [DerivedSources/Lexer.lut.h] Error 1
make: *** Waiting for unfinished jobs....
Creating hashtable for JavaScriptCore/runtime/ArrayPrototype.cpp

Building without "-j4" probably works.
Comment 1 Bastien Nocera 2010-02-11 10:43:56 PST
Seems that some of the created files are lacking explicit dependencies.

The problem is also that bison will fail and not exit if the output directory does not exist.

So the original:
/usr/bin/bison -d -p jscyy ./JavaScriptCore/parser/Grammar.y -o DerivedSources/Grammar.cpp > bison_out.txt 2>&1
call would hang ad eternam if DerivedSources did not exist.

There are no explicit targets or dependencies to build DerivedSources in the GNUMakefile.am
Comment 2 Martin Robinson 2011-04-22 09:01:21 PDT
I don't think this one is an issue any longer, but please feel free to re-open if I'm wrong about that!
Comment 3 Dan HorĂ¡k 2012-03-25 01:47:16 PDT
make -j4 V=1 on webkit-1.7.92.tar.xz fails with

/usr/bin/python ./Source/WebKit2/Scripts/generate-messages-header.py ./Source/WebKit2/WebProcess/WebProcess.messages.in > DerivedSources/WebKit2/WebProcessMessages.h
/usr/bin/python ./Source/WebKit2/Scripts/generate-message-receiver.py ./Source/WebKit2/UIProcess/WebProcessProxy.messages.in > DerivedSources/WebKit2/WebProcessProxyMessageReceiver.cpp
/usr/bin/python ./Source/WebKit2/Scripts/generate-messages-header.py ./Source/WebKit2/UIProcess/WebProcessProxy.messages.in > DerivedSources/WebKit2/WebProcessProxyMessages.h
echo "extern \"C\" {" > ./DerivedSources/WebKit2/webkit2gtk/webkit2/WebKitMarshal.cpp && \
glib-genmarshal --prefix=webkit_marshal ./Source/WebKit2/UIProcess/API/gtk/webkit2marshal.list --body >> ./DerivedSources/WebKit2/webkit2gtk/webkit2/WebKitMarshal.cpp && \
echo '}' >> ./DerivedSources/WebKit2/webkit2gtk/webkit2/WebKitMarshal.cpp && \
echo timestamp > stamp-webkit2marshal.cpp
glib-genmarshal --prefix=webkit_marshal ./Source/WebKit2/UIProcess/API/gtk/webkit2marshal.list --header > ./DerivedSources/WebKit2/webkit2gtk/webkit2/WebKitMarshal.h && \
echo timestamp > stamp-webkit2marshal.h
/usr/bin/perl Source/WebKit2/Scripts/generate-forwarding-headers.pl ./Source/WebKit2 ./DerivedSources/WebKit2/include gtk
/bin/sh: ./DerivedSources/WebKit2/webkit2gtk/webkit2/WebKitMarshal.cpp: No such file or directory
make: *** [stamp-webkit2marshal.cpp] Error 1
make: *** Waiting for unfinished jobs....
/bin/sh: ./DerivedSources/WebKit2/webkit2gtk/webkit2/WebKitMarshal.h: No such file or directory
make: *** [stamp-webkit2marshal.h] Error 1