Skip to contentSkip to conversation

Ross Burton : webkit-gtk: remove no-parallel bodge

oe-commits Martin Jansa 3 participants 4 messages Jul 20, 2012 – Aug 8, 2012 1 message not in the archive

lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): 20120718133146.0C2B910217@opal

#1 lore raw
Quoted 15 lines · On Wed, Jul 18, 2012 at 01:31:45PM +0000, [email protected] wrote:
Module: openembedded-core.git
Branch: master
Commit: 90ca88a6f9dd5e2bc055739f84cb224f9a82455a
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=90ca88a6f9dd5e2bc055739f84cb224f9a82455a
Author: Ross Burton <[email protected]>
Date:   Tue Jul 17 19:44:19 2012 +0100

webkit-gtk: remove no-parallel bodge

This workaround was originally for GNU Make 3.82 which upstream was blaming for a parallel build failure. Since then I've changed numerous variables and now parallel builds are working with 3.82 (and succeed in 20 minutes instead of 2 hours).

Quoted 5 lines

Revert the change until we've more data about what causes the breakage, then we can bring it back with more finesse.

Now it failed on one of my builders:

| arm-oe-linux-gnueabi-libtool: link: arm-oe-linux-gnueabi-ranlib .libs/libWebCoreGtk.a
| mv -f Tools/DumpRenderTree/gtk/.deps/Programs_DumpRenderTree-TextInputController.Tpo Tools/DumpRenderTree/gtk/.deps/Programs_DumpRenderTree-TextInputController.Po | arm-oe-linux-gnueabi-libtool: link: ( cd "TestNetscapePlugin/.libs" && rm -f "libtestnetscapeplugin.la" && ln -s "../libtestnetscapeplugin.la" "libtestnetscapeplugin.la"
)
| arm-oe-linux-gnueabi-libtool: link: cannot find the library libjavascriptcoregtk-1.0.la' or unhandled argument libjavascriptcoregtk-1.0.la'
| make[1]: *** [Programs/minidom] Error 1
| arm-oe-linux-gnueabi-libtool: link: ( cd ".libs" && rm -f "libWebCoreGtk.la" && ln -s "../libWebCoreGtk.la" "libWebCoreGtk.la" )

GNU Make 3.82

I've built it without PARALLEL_MAKE about 8 times already and this is first time it failed.. so the race condition is probably still there.

Cheers,

Signature · 1 line
Martin 'JaMa' Jansa     jabber: [email protected]
#2 lore raw
Quoted 2 lines · Martin Jansa

I've built it without PARALLEL_MAKE about 8 times already and this is first time it failed.. so the race condition is probably still there.

Disabling parallel makes really does make webkit take a long time to build. My preferred option at the moment is to make webkit-gtk depend on make-native-replacement, and package 3.81. I'd like to see that dependency only kick in it we detect that the host has 3.82, but that's pretty evil...

I've also pinged the bug-make mailing list about this problem as there have been a bug and two patches in their bug tracker for two years now with no comment.

Ross

#3 lore raw
In reply to Martin Jansa
Quoted 27 lines · Martin Jansa
Quoted 7 lines

This workaround was originally for GNU Make 3.82 which upstream was blaming for a parallel build failure. Since then I've changed numerous variables and now parallel builds are working with 3.82 (and succeed in 20 minutes instead of 2 hours).

Revert the change until we've more data about what causes the breakage, then we can bring it back with more finesse.

Now it failed on one of my builders:

| arm-oe-linux-gnueabi-libtool: link: arm-oe-linux-gnueabi-ranlib .libs/libWebCoreGtk.a
| mv -f Tools/DumpRenderTree/gtk/.deps/Programs_DumpRenderTree-TextInputController.Tpo Tools/DumpRenderTree/gtk/.deps/Programs_DumpRenderTree-TextInputController.Po | arm-oe-linux-gnueabi-libtool: link: ( cd "TestNetscapePlugin/.libs" && rm -f "libtestnetscapeplugin.la" && ln -s "../libtestnetscapeplugin.la" "libtestnetscapeplugin.la"
)
| arm-oe-linux-gnueabi-libtool: link: cannot find the library libjavascriptcoregtk-1.0.la' or unhandled argument libjavascriptcoregtk-1.0.la'
| make[1]: *** [Programs/minidom] Error 1
| arm-oe-linux-gnueabi-libtool: link: ( cd ".libs" && rm -f "libWebCoreGtk.la" && ln -s "../libWebCoreGtk.la" "libWebCoreGtk.la" )

GNU Make 3.82

Quoted 7 lines

I've built it without PARALLEL_MAKE about 8 times already and this is first time it failed.. so the race condition is probably still there.

Cheers,

--
Martin 'JaMa' Jansa jabber: [email protected]

I have tried 3 times (with cleansstate) and got 100% failure - similar to Martin's:

| arm-angstrom-linux-gnueabi-libtool: link: cannot find the library libjavascriptcoregtk-1.0.la' or unhandled argument libjavascriptcoregtk-1.0.la'

| make[1]: *** [Programs/unittests/testdomdomwindow] Error 1
| make[1]: *** Waiting for unfinished jobs....
| arm-angstrom-linux-gnueabi-libtool: link: cannot find the library

libjavascriptcoregtk-1.0.la' or unhandled argument libjavascriptcoregtk-1.0.la'
| make[1]: *** [Programs/unittests/testdomdocument] Error 1

I reverted this patch and build is fine.

Andreas

#4 lore raw
Quoted 11 lines · Andreas Müller

| arm-angstrom-linux-gnueabi-libtool: link: cannot find the library libjavascriptcoregtk-1.0.la' or unhandled argument libjavascriptcoregtk-1.0.la'

| make[1]: *** [Programs/unittests/testdomdomwindow] Error 1
| make[1]: *** Waiting for unfinished jobs....
| arm-angstrom-linux-gnueabi-libtool: link: cannot find the library

libjavascriptcoregtk-1.0.la' or unhandled argument libjavascriptcoregtk-1.0.la'
| make[1]: *** [Programs/unittests/testdomdocument] Error 1

I reverted this patch and build is fine.

Bringing this thread back as it needs to get resolved.

Can you try adding the patch in
https://bug-79498-attachments.webkit.org/attachment.cgi?id=131681 to webkit and seeing if it builds with -j then? That patch claims to add duplicated rules to force the buggy make not to drop essential dependencies.

If that doesn't help... I don't know what the best thing to do is. Add a make-replacement 3.81 recipe, and depend on it? Detect the make version and disable parallel and warn if it's 3.82?

Cheers,
Ross