GN: deploy_chrome expects *.so in Release/lib not Release |
|||||||
Issue description
When running:
$ USE="gn" emerge-${BOARD} chromeos-chrome
We now get:
* /home/stevenjb/chrome_root/src/third_party/chromite/bin/deploy_chrome --board=x86-generic --build-dir=/var/cache/chromeos-chrome/chrome-src/src/out_x86-generic/Release --gyp-defines=sysroot=/build/x86-generic linux_link_libbrlapi=1 use_brlapi=1 system_libdir=lib pkg-config=/build/x86-generic/build/bin/pkg-config use_v4l2_codec=1 use_v4lplugin=0 use_vtable_verify=0 use_ozone=1 use_evdev_gestures=1 use_xkbcommon=1 internal_gles2_conform_tests=0 internal_khronos_glcts_tests=0 linux_use_bundled_binutils=0 linux_use_bundled_gold=0 linux_use_gold_flags=1 linux_use_debug_fission=0 remoting=1 chromeos=1 disable_nacl=0 icu_use_data_file_flag=1 use_cras=1 use_system_minigbm=1 use_system_harfbuzz=1 asan=0 clang=0 clang_use_chrome_plugins=0 host_clang=0 ozone_platform=gbm ozone_auto_platforms=0 ozone_platform_gbm=1 target_arch=ia32 remove_webcore_debug_symbols=1 component=shared_library release_extra_cflags='-g' --nostrip --staging-dir=/build/x86-generic/tmp/portage/chromeos-base/chromeos-chrome-9999/image///opt/google/chrome --staging-flags=accessibility autotest build_tests buildcheck chrome_debug chrome_remoting elibc_glibc evdev_gestures fonts gn gold highdpi kernel_linux nacl opengles ozone ozone_platform_default_gbm ozone_platform_gbm runhooks userland_GNU v4l2_codec vaapi x86 xkbcommon --staging-only --strict --strip-bin=i686-pc-linux-gnu-strip --strip-flags=--strip-unneeded --verbose
13:57:52: DEBUG: /var/cache/chromeos-chrome/chrome-src/src/out_x86-generic/Release/chrome -> /build/x86-generic/tmp/portage/chromeos-base/chromeos-chrome-9999/image/opt/google/chrome/chrome
13:57:54: DEBUG: /var/cache/chromeos-chrome/chrome-src/src/out_x86-generic/Release/chrome-wrapper -> /build/x86-generic/tmp/portage/chromeos-base/chromeos-chrome-9999/image/opt/google/chrome/chrome-wrapper
13:57:54: DEBUG: /var/cache/chromeos-chrome/chrome-src/src/out_x86-generic/Release/chrome_100_percent.pak -> /build/x86-generic/tmp/portage/chromeos-base/chromeos-chrome-9999/image/opt/google/chrome/chrome_100_percent.pak
13:57:54: DEBUG: /var/cache/chromeos-chrome/chrome-src/src/out_x86-generic/Release/chrome_200_percent.pak -> /build/x86-generic/tmp/portage/chromeos-base/chromeos-chrome-9999/image/opt/google/chrome/chrome_200_percent.pak
13:57:54: DEBUG: /var/cache/chromeos-chrome/chrome-src/src/out_x86-generic/Release/chrome_material_100_percent.pak -> /build/x86-generic/tmp/portage/chromeos-base/chromeos-chrome-9999/image/opt/google/chrome/chrome_material_100_percent.pak
13:57:54: DEBUG: /var/cache/chromeos-chrome/chrome-src/src/out_x86-generic/Release/chrome_material_200_percent.pak -> /build/x86-generic/tmp/portage/chromeos-base/chromeos-chrome-9999/image/opt/google/chrome/chrome_material_200_percent.pak
13:57:54: DEBUG: /var/cache/chromeos-chrome/chrome-src/src/out_x86-generic/Release/keyboard_resources.pak -> /build/x86-generic/tmp/portage/chromeos-base/chromeos-chrome-9999/image/opt/google/chrome/keyboard_resources.pak
13:57:52: DEBUG: root@stevenjb3.sfo.corp.google.com is not a Google or Chromium user.
13:57:52: DEBUG: Skipping stats upload.
/var/cache/chromeos-chrome/chrome-src/src/out_x86-generic/Release/lib/*.so does not exist and is required.
You can bypass this error with --sloppy.
Aborting copy...
It appears that GN puts *.so in Release/ but deploy_chrome is looking for them in Release/lib/
I'm not sure what the right fix for this is.
,
May 6 2016
This does not in fact occur with amd64-generic, but I realize that is probably because x86-generic is using a component build. +ihf@
,
May 6 2016
Yes, the files in lib are part of the component build, which we do by default on 32 bit. It looks like the build above does use "component=shared_library". You are saying all components are there just in the wrong location?
,
May 6 2016
Correct. I see the .so files at the to level, Release/, with the GN build. There is no Release/lib/ directory with GN.
,
May 7 2016
Yup, this is what we do. I don't remember why this is off-hand, either for GYP or GN; I think it has something to do with simplifying the dynamic loader paths. I don't know how hard this would be to change, or if we would want to do so; maybe brettw@ knows. We also don't generally expect people to be reaching into subdirs of out to deploy stuff. We've gone to a reasonably large amount of effort to make sure that builds were compatible between GYP and GN for builders, but I think you're probably doing something we don't do in chrome directly. Brett, any thoughts on why we changed where shared libraries were written in GN, and whether that should be changeable?
,
May 9 2016
I think the reason we changed it is that nobody could remember why shared libraries were written somewhere else.
,
May 9 2016
I don't personally have an opinion WRT where they end up, I just couldn't trivially determine how to tell deploy_chrome where to look for them.
,
May 11 2016
,
May 12 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/chromite/+/02004a8bd9aa8bfdb69e8f9e71fcaa2ab432afd7 commit 02004a8bd9aa8bfdb69e8f9e71fcaa2ab432afd7 Author: Steven Bennetts <stevenjb@chromium.org> Date: Thu May 12 01:03:37 2016 deploy_chrome.py: Change location of .so files for GN BUG= chromium:609623 TEST=Run build_packages with USE="gn" Change-Id: I7e12390f701379f2bc3ba3e28a1d7da8fedb057d Reviewed-on: https://chromium-review.googlesource.com/344401 Commit-Ready: Steven Bennetts <stevenjb@chromium.org> Tested-by: Steven Bennetts <stevenjb@chromium.org> Reviewed-by: David James <davidjames@chromium.org> [modify] https://crrev.com/02004a8bd9aa8bfdb69e8f9e71fcaa2ab432afd7/lib/chrome_util.py
,
May 12 2016
,
May 12 2016
,
May 23 2016
Bulk verified
,
May 23 2016
bulk verified |
|||||||
►
Sign in to add a comment |
|||||||
Comment 1 by steve...@chromium.org
, May 5 2016