RESOLVED FIXED 95854
[Chromium] Compositor build errors prevent rolling Chromium into WebKit
https://bugs.webkit.org/show_bug.cgi?id=95854
Summary [Chromium] Compositor build errors prevent rolling Chromium into WebKit
Peter Beverloo
Reported 2012-09-05 07:56:15 PDT
Example log: http://build.webkit.org/builders/Chromium%20Linux%20Release/builds/58456/steps/compile-webkit/logs/stdio In file included from ../../Source/WebKit/chromium/webkit/compositor_bindings/web_compositor_support_impl.cc:5:0: ../../Source/WebKit/chromium/webkit/compositor_bindings/web_compositor_support_impl.h:8:73: fatal error: third_party/WebKit/Source/Platform/chromium/public/WebLayer.h: No such file or directory Include paths in web_compositor_support_impl.cc seem to be incorrect. Target range is 154695:154940, so I'm guessing r154819 is the issue here: http://src.chromium.org/viewvc/chrome?view=rev&revision=154819 James, I don't know enough about this to quickly write up fixes. Could you confirm or correct the following assertions? - There are two compositors, one in Chromium's cc/ directory, one in WebKit. The gyp "use_libcc_for_compositor" variable toggles this: 0 means WebKit, 1 means cc/. - Chromium and WebKit currently both build with use_libcc_for_compositor=0. Are there bots which have use_libcc_for_compositor=1? Is there a bug or issue I can track for progress on this? The canaries did not catch this error. The paths used on lines 21 to 31 of web_compositor_support_impl.cc cannot possibly work for WebKit, considering there is no such things as third_party/WebKit/ there. Assuming we do need the "webkit_compositor_support" target itself, we need to change the include paths to work correctly under all scenarios. I'll prepare a patch for fixing this on the Chromium side..
Attachments
Peter Beverloo
Comment 1 2012-09-05 07:56:47 PDT
+Philippe, who needs a roll.
Peter Beverloo
Comment 2 2012-09-05 08:12:34 PDT
I've uploaded a build fix here: https://chromiumcodereview.appspot.com/10905100/ This fixes the issues with the WebKit build. It's a minor fix, so feel free to take over if there's a better way of doing it.
James Robinson
Comment 3 2012-09-05 09:09:34 PDT
That fix is wrong. We put third_party/WebKit/... into the gendir at build time so #include "third_party/WebKit/..." from chromium files should work. I'll take a look at what's going on here - guessing some target doesn't have the correct gendir on the include path.
James Robinson
Comment 4 2012-09-05 09:22:14 PDT
This is the rule in WebKit.gyp that's supposed to make things work: { # else: inside_chromium_build==0 'direct_dependent_settings': { 'include_dirs': [ '<(SHARED_INTERMEDIATE_DIR)/webkit', # in a chromium-inside-WebKit build, headers in the public WebKit API are copied beneath this directory so includes referencing third_party/WebKit work. ], }, }], but since webkit_compositor_support doesn't directly depend on the WebKit target, it doesn't pick this up. One fix might be to just make it depend on WebKit.gyp:webkit - trying that now. Another would be to duplicate this logic.
James Robinson
Comment 5 2012-09-05 09:28:43 PDT
Possible fix here: https://chromiumcodereview.appspot.com/10918076. Gonna make sure trybots compile before landing but it appears to work locally (cr-mac). ETA 20 minutes, feel free to land that if you're blocked on a roll and can't wait that long.
Peter Beverloo
Comment 6 2012-09-05 09:31:58 PDT
(In reply to comment #5) > Possible fix here: https://chromiumcodereview.appspot.com/10918076. Gonna make sure trybots compile before landing but it appears to work locally (cr-mac). ETA 20 minutes, feel free to land that if you're blocked on a roll and can't wait that long. SGTM, thank you James. Could you reply to the two assertions I made in comment 0?
James Robinson
Comment 7 2012-09-05 09:47:35 PDT
(In reply to comment #0) > - There are two compositors, one in Chromium's cc/ directory, one in WebKit. The gyp "use_libcc_for_compositor" variable toggles this: 0 means WebKit, 1 means cc/. Yes (technically they're copies of each other, we're moving the WebKit one into cc/) > - Chromium and WebKit currently both build with use_libcc_for_compositor=0. Are there bots which have use_libcc_for_compositor=1? Is there a bug or issue I can track for progress on this? There's no bot.
James Robinson
Comment 8 2012-09-05 10:10:03 PDT
Should be good as of https://src.chromium.org/viewvc/chrome?view=rev&revision=154974. Sorry for the mess.
Peter Beverloo
Comment 9 2012-09-05 10:16:25 PDT
(In reply to comment #8) > Should be good as of https://src.chromium.org/viewvc/chrome?view=rev&revision=154974. Sorry for the mess. Thanks for fixing it! Any LKGR > 154974 should be good for a Chromium roll then, I'll take care of this tomorrow morning if no one else has by then :-).
Note You need to log in before you can comment on or make changes to this bug.