ChromeOS on linux-chromeos doesn't build 'all' |
||||||||||
Issue description
OS: Goobuntu 14.04
What steps will reproduce the problem?
(1) Create GN build target with these args:
target_os = "chromeos"
use_goma = true
is_chrome_branded = true
(2) Do Ninja build
What is the expected output?
The target should be built with no error.
What do you see instead?
gen/components/arc/common/bluetooth.mojom-blink.cc:2649:25: error: no member named 'Data_' in 'WTF::String'
if (!WTF::String::Data_::Validate(
~~~~~~~~~~~~~^
gen/components/arc/common/bluetooth.mojom-blink.cc:2760:25: error: no member named 'Data_' in 'WTF::String'
if (!WTF::String::Data_::Validate(
~~~~~~~~~~~~~^
2 errors generated.
Just managed to build by commenting out the code...
,
May 4 2016
,
May 4 2016
Odd, the buildbot succeeds: https://build.chromium.org/p/chromium.chromiumos/builders/Linux%20ChromiumOS%20GN I'll try locally, but -> the current gardener
,
May 4 2016
Oh, is_chrome_branded... We probably ought to have a Linux ChromeOS builder on the chromeos.chrome waterfall. +akeshet@, dpranke@
,
May 4 2016
Hmm, I configured my args.gn as described, but do not have a en/components/arc/common/bluetooth.mojom-blink.cc file. Are you on a ToT build, and do you have anything else in your args.gn file?
,
May 4 2016
Aha... this fails when building all targets. Unfortunately I can't seem to easily identify which one - bluetooth.mojom-blink is never mentioned explicitly in the code, it must be generated, sigh. I'll try increasing the verbosity of the output and investigate.
,
May 4 2016
Yes it only fails when building all targets. Looks like I can build chrome:chrome without errors or warnings...
,
May 4 2016
+ components/arc/common/ owners et. al. I still can't figure out what target is causing this to fail (other than it is not chrome). This seems like an error in the generated code?
,
May 6 2016
This bug is not GN specific, I can reproduce this with GYP. Also, 'is_chrome_branded = true' is not necessary. I suspect it may be related to https://codereview.chromium.org/1751563002: "Mojo C++ bindings: support mapping mojo string to WTF::String." -> yzshen@chromium.org
,
May 6 2016
We should be building 'all' on at least some bots, so I'm not sure why you'd only see this on CrOS.
,
May 7 2016
Looking at the 'compile' stage output for 'Linux ChromiumOS GN', it looks like we build: base_unittests base_unittests_run gn_all mash_unittests The difference appears to be 'gn_all' vs 'all'. 'gn_all' builds locally for me but not 'all'. The GYP builder (Linux ChromiumOS Builder) builds: All accessibility_unittests accessibility_unittests_run app_list_presenter_unittests app_list_presenter_unittests_run app_list_unittests app_list_unittests_run app_shell_unittests app_shell_unittests_run ash_unittests ash_unittests_run aura_builder aura_unittests aura_unittests_run base_unittests base_unittests_run browser_tests browser_tests_run cacheinvalidation_unittests cacheinvalidation_unittests_run chrome_app_unittests chrome_app_unittests_run chromeos_unittests chromeos_unittests_run chromevox_tests components_unittests components_unittests_run compositor_unittests compositor_unittests_run content_browsertests content_browsertests_run content_unittests content_unittests_run crypto_unittests crypto_unittests_run dbus_unittests device_unittests device_unittests_run display_unittests display_unittests_run events_unittests events_unittests_run extensions_browsertests extensions_browsertests_run extensions_unittests extensions_unittests_run gcm_unit_tests gcm_unit_tests_run gfx_unittests gfx_unittests_run google_apis_unittests google_apis_unittests_run gpu_ipc_service_unittests gpu_ipc_service_unittests_run gpu_unittests gpu_unittests_run interactive_ui_tests interactive_ui_tests_run ipc_tests ipc_tests_run jingle_unittests jingle_unittests_run media_blink_unittests media_blink_unittests_run media_unittests media_unittests_run message_center_unittests message_center_unittests_run midi_unittests midi_unittests_run nacl_helper_nonsfi_unittests nacl_loader_unittests nacl_loader_unittests_run net_unittests net_unittests_run ppapi_unittests ppapi_unittests_run printing_unittests printing_unittests_run remoting_unittests remoting_unittests_run sandbox_linux_unittests sandbox_linux_unittests_run skia_unittests skia_unittests_run sql_unittests sql_unittests_run sync_unit_tests sync_unit_tests_run ui_arc_unittests ui_base_unittests ui_base_unittests_run ui_chromeos_unittests ui_touch_selection_unittests ui_touch_selection_unittests_run unit_tests unit_tests_run url_unittests url_unittests_run views_unittests views_unittests_run wm_unittests wm_unittests_run These all build locally also. Note the capital 'A' All, which apparently is not the same as 'all'. Also Note: not specifying a target is the same as 'all'. I can not for the life of me figure out what target is being built when ninja fails.
,
May 7 2016
I will look into this now ... fwiw, "All" == "gn_all", but yeah, != "all". Ideally building "All" and then "all" would result in the second-thing being a no-op, but we don't enforce this yet and there are definitely targets that are defined but not included in "All", leading to issues like this one.
,
May 7 2016
so, at tip of tree (at least, #392216), both static and shared debug builds of 'all' work fine for me, though I did not try is_chrome_branded=true per comment #9. Maybe a fix landed today and it works now?
,
May 9 2016
I just tried ToT with the following args.gn and it failed: $ ninja -j 1000 -l 10 -C out/Release/ $ cat out/Release/args.gn target_os = "chromeos" dcheck_always_on = true is_debug = false use_goma = true
,
May 9 2016
Note: I just confirmed that dcheck_always_on and is_debug are irrelevant.
,
May 10 2016
Reassigning to me since I'm not sure what's going on here. @stevenjb - to re-confirm: this is a regular desktop linux build w/ the above args.gn, right? not simplechrome or ebuild? And you're seeing the same compile error given in #0 ? I'm not sure what the discrepancy would be between our builds, but it's possible there's a missing dependency somewhere and we're hitting a race in the build as a result. Is this actually blocking something else?
,
May 10 2016
@dpranke - * Yes, regular linux environment with the args above. * Yes, same compiler error. * No, this is not blocking anything, only affecting anyone building 'all' (or omitting any targets).
,
May 10 2016
ok, I'll keep looking into it but will prioritize the other cros bugs that might be blocking things higher.
,
May 11 2016
@stevenjb - at tip of tree, in a clean checkout, I still don't get that compile error. Instead, I get a compile error trying to compile it2me_standalone_host_main.cc complaining about trying to include gtk.h Moreover, if I look at gen/components/arc/common/bluetooth.mojom-blink.cc, I don't see any references to WTF::String::Data_. So, I feel like something must be out of date in your build? If you still don't see what it is, maybe give me a buzz tomorrow and we can figure out what's different between your builds and mine.
,
May 11 2016
I just tried again with a more recent ToT build and got the gtk.h error, so that must be recent. I will wait until your fix lands and try again.
,
May 13 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b91b7557f1fd7e44a00231d040a42f2928520ffc commit b91b7557f1fd7e44a00231d040a42f2928520ffc Author: dpranke <dpranke@chromium.org> Date: Fri May 13 02:35:13 2016 Fix it2me_standalone_host compilation. This newly-added binary doesn't compile on ChromeOS; I think it might be desktop-linux-only? R=zijiehe@chromium.org, sergeyu@chromium.org BUG= 607213 Review-Url: https://codereview.chromium.org/1966983002 Cr-Commit-Position: refs/heads/master@{#393435} [modify] https://crrev.com/b91b7557f1fd7e44a00231d040a42f2928520ffc/remoting/test/BUILD.gn
,
Jun 21 2016
Hopefully this is fixed now ... |
||||||||||
►
Sign in to add a comment |
||||||||||
Comment 1 by autumn@chromium.org
, May 3 2016