Bug 16718 - parallel makes for autotools build is broken
Summary: parallel makes for autotools build is broken
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKitGTK (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC Linux
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-01-03 02:46 PST by samuel verstraete
Modified: 2008-01-07 06:58 PST (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description samuel verstraete 2008-01-03 02:46:55 PST
Compilation stops with:

make[1]: *** [WebCore/xml/libWebKitGtk_la-XPathParser.lo] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory `/usr/src/WebKit-r29108'
make: *** [all] Error 2
Comment 1 samuel verstraete 2008-01-03 02:54:49 PST
Full compile log can be found here:
 http://merlin.ugent.be/WebKit-﷒0
Comment 2 Mark Rowe (bdash) 2008-01-03 02:55:43 PST
Relevant part of the transcript that shows the root cause of failure:

rm -f ./DerivedSources/XPathGrammar.cpp.h ./DerivedSources/XPathGrammar.hpp
/usr/bin/bison -d -p xpathyy WebCore/xml/XPathGrammar.y -o ./DerivedSources/XPathGrammar.cpp
rm -f ./DerivedSources/XPathGrammar.cpp.h ./DerivedSources/XPathGrammar.hpp
touch ./DerivedSources/XPathGrammar.cpp.h ./DerivedSources/XPathGrammar.hpp
/usr/bin/bison -d -p xpathyy WebCore/xml/XPathGrammar.y -o ./DerivedSources/XPathGrammar.cpp
echo '#ifndef XPathGrammar_h' > ./DerivedSources/XPathGrammar.h
touch ./DerivedSources/XPathGrammar.cpp.h ./DerivedSources/XPathGrammar.hpp
echo '#define XPathGrammar_h' >> ./DerivedSources/XPathGrammar.h
echo '#ifndef XPathGrammar_h' > ./DerivedSources/XPathGrammar.h
cat ./DerivedSources/XPathGrammar.cpp.h ./DerivedSources/XPathGrammar.hpp >> ./DerivedSources/XPathGrammar.h
echo '#define XPathGrammar_h' >> ./DerivedSources/XPathGrammar.h
echo '#endif' >> ./DerivedSources/XPathGrammar.h
cat ./DerivedSources/XPathGrammar.cpp.h ./DerivedSources/XPathGrammar.hpp >> ./DerivedSources/XPathGrammar.h
rm -f ./DerivedSources/XPathGrammar.cpp.h ./DerivedSources/XPathGrammar.hpp
echo '#endif' >> ./DerivedSources/XPathGrammar.h
rm -f ./DerivedSources/XPathGrammar.cpp.h ./DerivedSources/XPathGrammar.hpp

Actual symptom of failure:
In file included from WebCore/xml/XPathParser.cpp:50:
./DerivedSources/XPathGrammar.hpp:221:2: error: #endif without #if


This is due to the XPathGrammar.y rule in WebCore/GNUmakefile.am having multiple targets.  In parallel builds Make may run the rule twice concurrently to generate both targets, which leads to each instance stomping over the other, and badness results.
Comment 3 Alp Toker 2008-01-07 06:58:33 PST
This was hopefully fixed in r29154. If the problem persists, please re-open this bug.