Bug 71778
| Summary: | [Qt] Incremental build is flakey on Windows | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Csaba Osztrogonác <ossy> |
| Component: | Tools / Tests | Assignee: | Tor Arne Vestbø <vestbo> |
| Status: | RESOLVED FIXED | ||
| Severity: | Blocker | CC: | ossy |
| Priority: | P1 | Keywords: | Qt, QtTriaged |
| Version: | 528+ (Nightly build) | ||
| Hardware: | All | ||
| OS: | All | ||
| Bug Depends on: | |||
| Bug Blocks: | 71222 | ||
Csaba Osztrogonác
It seems fails are absolutely unrelated to commits.
I think the dependency tree is broken in the Makefile, and
we get flakey fails because of we build with make -j4.
fail1: (r99437-r99438)
make[3]: *** No rule to make target `compiler_cssvalues_make_all', needed by `first'. Stop.
make[2]: *** [sub-DerivedSources-pri] Error 2
fail2: (r99455)
make[3]: *** No rule to make target `compiler_inspectorValidate_make_all', needed by `first'. Stop.
make[2]: *** [sub-DerivedSources-pri] Error 2
fail3: (r99463)
make[3]: *** No rule to make target `compiler_cssvalues_make_all', needed by `first'. Stop.
make[3]: Entering directory `/ramdisk/qt-windows-32bit-release/build/WebKitBuild/Release/Source/WebCore'
make[3]: Leaving directory `/ramdisk/qt-windows-32bit-release/build/WebKitBuild/Release/Source/WebCore'
make[2]: *** [sub-DerivedSources-pri] Error 2
fail4: (r99465)
make[3]: *** No rule to make target `compiler_keywordlut_make_all', needed by `first'. Stop.
make[2]: *** [sub-DerivedSources-pri] Error 2
make[3]: *** No rule to make target `compiler_inspectorValidate_make_all', needed by `first'. Stop.
make[2]: *** [sub-DerivedSources-pri] Error 2
fail4: (r99515)
make[3]: *** No rule to make target `compiler_keywordlut_make_all', needed by `first'. Stop.
make[2]: *** [sub-DerivedSources-pri] Error 2
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Csaba Osztrogonác
One more fail because of this bug: (r99540)
make[3]: *** No rule to make target `compiler_keywordlut_make_all', needed by make[2]: *** [sub-DerivedSources-pri] Error 2
Tor Arne Vestbø
What's likely happening is that make qmake triggers qmake foo.pro -o Makefile.foo, and somehow make does not understand that it needs to wait for that to finish before parallelizing running make -f Makefile.foo
Clear case:
http://build.webkit.org/builders/Qt%20Windows%2032-bit%20Debug/builds/29880/steps/compile-webkit/logs/stdio
In theory the makefile rules are set up so that make should be able to realize this, and it seems to work everywhere else, except on the mingw bots.
Tor Arne Vestbø
I know what the issue is now. The rules that were supposed to make "qmake derived, make derived, qmake traget" sequential was under an unix ifdef, as it depends on gnumake, but this obviously failed for mingw. I'll make a patch tomorrow.
Tor Arne Vestbø
Fixed in r99949