reef-uni build broken at head |
||||
Issue descriptionAfter https://bugs.chromium.org/p/chromium/issues/detail?id=718534 reef-uni overlay being created, it seems that we've had a regression at ToT. The build fails with: * Package: chromeos-base/dev-install-0.0.1-r919 * Repository: chromiumos * USE: abi_x86_64 amd64 board_use_reef-uni cros-debug elibc_glibc kernel_linux unibuild userland_GNU * FEATURES: sandbox splitdebug userpriv usersandbox * Running stacked hooks for pre_pkg_setup * sysroot_build_bin_dir ... [ ok ] * Running stacked hooks for post_pkg_setup * python_eclass_hack ... [ ok ] * Running stacked hooks for pre_src_unpack * python_multilib_setup ... [ ok ] >>> Unpacking source... * Using local source dir(s): /mnt/host/source/src/platform/dev * path: /mnt/host/source/src/platform/dev * destdir: /build/reef-uni/tmp/portage/chromeos-base/dev-install-0.0.1-r919/work/dev-install-0.0.1 >>> Source unpacked in /build/reef-uni/tmp/portage/chromeos-base/dev-install-0.0.1-r919/work * Running stacked hooks for post_src_unpack * asan_init ... [ ok ] >>> Preparing source in /mnt/host/source/src/platform/dev ... >>> Source prepared. >>> Configuring source in /mnt/host/source/src/platform/dev ... >>> Source configured. >>> Compiling source in /mnt/host/source/src/platform/dev ... * Building depgraphs for: virtual/target-os portage virtual/target-os-dev virtual/target-os-test ... ERROR: ld.so: object 'libsandbox.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored. ERROR: ld.so: object 'libsandbox.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored. ERROR: ld.so: object 'libsandbox.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored. ERROR: ld.so: object 'libsandbox.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored. !!! Error: PORTAGE_CONFIGROOT='/build/reef/' is not a directory. Please correct this. !!! Error: PORTAGE_CONFIGROOT='/build/reef/' is not a directory. Please correct this. Traceback (most recent call last): File "/usr/bin/emerge", line 51, in <module> retval = emerge_main() File "/usr/lib64/portage/pym/_emerge/main.py", line 1042, in emerge_main action=myaction, args=myfiles, opts=myopts) File "/usr/lib64/portage/pym/portage/proxy/objectproxy.py", line 31, in __call__ return result(*args, **kwargs) File "/usr/lib64/portage/pym/_emerge/actions.py", line 3231, in load_emerge_config **portage._native_kwargs(kwargs)) File "/usr/lib64/portage/pym/portage/__init__.py", line 582, in create_trees env=env, eprefix=eprefix) File "/usr/lib64/portage/pym/portage/package/ebuild/config.py", line 331, in __init__ local_config=local_config, target_root=target_root) File "/usr/lib64/portage/pym/portage/package/ebuild/_config/LocationsManager.py", line 63, in __init__ self._check_var_directory("PORTAGE_CONFIGROOT", self.config_root) File "/usr/lib64/portage/pym/portage/package/ebuild/_config/LocationsManager.py", line 146, in _check_var_directory raise DirectoryNotFound(var) DirectoryNotFound: /build/reef/ Traceback (most recent call last): File "/usr/bin/emerge", line 51, in <module> retval = emerge_main() File "/usr/lib64/portage/pym/_emerge/main.py", line 1042, in emerge_main action=myaction, args=myfiles, opts=myopts) File "/usr/lib64/portage/pym/portage/proxy/objectproxy.py", line 31, in __call__ return result(*args, **kwargs) File "/usr/lib64/portage/pym/_emerge/actions.py", line 3231, in load_emerge_config **portage._native_kwargs(kwargs)) File "/usr/lib64/portage/pym/portage/__init__.py", line 582, in create_trees env=env, eprefix=eprefix) File "/usr/lib64/portage/pym/portage/package/ebuild/config.py", line 331, in __init__ local_config=local_config, target_root=target_root) File "/usr/lib64/portage/pym/portage/package/ebuild/_config/LocationsManager.py", line 63, in __init__ self._check_var_directory("PORTAGE_CONFIGROOT", self.config_root) File "/usr/lib64/portage/pym/portage/package/ebuild/_config/LocationsManager.py", line 146, in _check_var_directory raise DirectoryNotFound(var) DirectoryNotFound: /build/reef/ !!! Error: PORTAGE_CONFIGROOT='/build/reef/' is not a directory. Please correct this. Traceback (most recent call last): File "/usr/bin/emerge", line 51, in <module> retval = emerge_main() File "/usr/lib64/portage/pym/_emerge/main.py", line 1042, in emerge_main action=myaction, args=myfiles, opts=myopts) File "/usr/lib64/portage/pym/portage/proxy/objectproxy.py", line 31, in __call__ return result(*args, **kwargs) File "/usr/lib64/portage/pym/_emerge/actions.py", line 3231, in load_emerge_config **portage._native_kwargs(kwargs)) File "/usr/lib64/portage/pym/portage/__init__.py", line 582, in create_trees env=env, eprefix=eprefix) File "/usr/lib64/portage/pym/portage/package/ebuild/config.py", line 331, in __init__ local_config=local_config, target_root=target_root) File "/usr/lib64/portage/pym/portage/package/ebuild/_config/LocationsManager.py", line 63, in __init__ self._check_var_directory("PORTAGE_CONFIGROOT", self.config_root) File "/usr/lib64/portage/pym/portage/package/ebuild/_config/LocationsManager.py", line 146, in _check_var_directory raise DirectoryNotFound(var) DirectoryNotFound: /build/reef/ !!! Error: PORTAGE_CONFIGROOT='/build/reef/' is not a directory. Please correct this. Traceback (most recent call last): File "/usr/bin/emerge", line 51, in <module> retval = emerge_main() File "/usr/lib64/portage/pym/_emerge/main.py", line 1042, in emerge_main action=myaction, args=myfiles, opts=myopts) File "/usr/lib64/portage/pym/portage/proxy/objectproxy.py", line 31, in __call__ return result(*args, **kwargs) File "/usr/lib64/portage/pym/_emerge/actions.py", line 3231, in load_emerge_config **portage._native_kwargs(kwargs)) File "/usr/lib64/portage/pym/portage/__init__.py", line 582, in create_trees env=env, eprefix=eprefix) File "/usr/lib64/portage/pym/portage/package/ebuild/config.py", line 331, in __init__ local_config=local_config, target_root=target_root) File "/usr/lib64/portage/pym/portage/package/ebuild/_config/LocationsManager.py", line 63, in __init__ self._check_var_directory("PORTAGE_CONFIGROOT", self.config_root) File "/usr/lib64/portage/pym/portage/package/ebuild/_config/LocationsManager.py", line 146, in _check_var_directory raise DirectoryNotFound(var) DirectoryNotFound: /build/reef/ * ERROR: chromeos-base/dev-install-0.0.1-r919::chromiumos failed (compile phase): * `USE="abi_x86_64 amd64 board_use_reef-uni cros-debug elibc_glibc kernel_linux unibuild userland_GNU" emerge-reef portage` failed * ERROR: chromeos-base/dev-install-0.0.1-r919::chromiumos failed (compile phase): * ERROR: chromeos-base/dev-install-0.0.1-r919::chromiumos failed (compile phase): * ERROR: chromeos-base/dev-install-0.0.1-r919::chromiumos failed (compile phase): * * `USE="abi_x86_64 amd64 board_use_reef-uni cros-debug elibc_glibc kernel_linux unibuild userland_GNU" emerge-reef virtual/target-os-test` failed * `USE="abi_x86_64 amd64 board_use_reef-uni cros-debug elibc_glibc kernel_linux unibuild userland_GNU" emerge-reef virtual/target-os` failed * `USE="abi_x86_64 amd64 board_use_reef-uni cros-debug elibc_glibc kernel_linux unibuild userland_GNU" emerge-reef virtual/target-os-dev` failed * * Call stack: * * * Call stack: * Call stack: * Call stack: * ebuild.sh, line 93: Called src_compile * ebuild.sh, line 93: Called src_compile * ebuild.sh, line 93: Called src_compile * environment, line 3528: Called die * environment, line 3528: Called die * ebuild.sh, line 93: Called src_compile * environment, line 3528: Called die * The specific snippet of code: * The specific snippet of code: * The specific snippet of code: * environment, line 3528: Called die * The specific snippet of code: * [[ ${_pipestatus// } -eq 0 ]] || die "\`USE=\"${useflags}\" emerge-${BOARD} ${pkg}\` failed" ) & multijob_post_fork; * [[ ${_pipestatus// } -eq 0 ]] || die "\`USE=\"${useflags}\" emerge-${BOARD} ${pkg}\` failed" ) & multijob_post_fork; * [[ ${_pipestatus// } -eq 0 ]] || die "\`USE=\"${useflags}\" emerge-${BOARD} ${pkg}\` failed" ) & multijob_post_fork; * * * * If you need support, post the output of `emerge --info '=chromeos-base/dev-install-0.0.1-r919::chromiumos'`, * If you need support, post the output of `emerge --info '=chromeos-base/dev-install-0.0.1-r919::chromiumos'`, * [[ ${_pipestatus// } -eq 0 ]] || die "\`USE=\"${useflags}\" emerge-${BOARD} ${pkg}\` failed" ) & multijob_post_fork; * If you need support, post the output of `emerge --info '=chromeos-base/dev-install-0.0.1-r919::chromiumos'`, * the complete build log and the output of `emerge -pqv '=chromeos-base/dev-install-0.0.1-r919::chromiumos'`. /usr/lib64/portage/bin/isolated-functions.sh: line 195: wait: ``USE="abi_x86_64 amd64 board_use_reef-uni cros-debug elibc_glibc kernel_linux unibuild userland_GNU" emerge-reef virtual/target-os-test` failed': not a pid or valid job spec * the complete build log and the output of `emerge -pqv '=chromeos-base/dev-install-0.0.1-r919::chromiumos'`. /usr/lib64/portage/bin/isolated-functions.sh: line 195: wait: ``USE="abi_x86_64 amd64 board_use_reef-uni cros-debug elibc_glibc kernel_linux unibuild userland_GNU" emerge-reef virtual/target-os` failed': not a pid or valid job spec * the complete build log and the output of `emerge -pqv '=chromeos-base/dev-install-0.0.1-r919::chromiumos'`. /usr/lib64/portage/bin/isolated-functions.sh: line 195: wait: ``USE="abi_x86_64 amd64 board_use_reef-uni cros-debug elibc_glibc kernel_linux unibuild userland_GNU" emerge-reef portage` failed': not a pid or valid job spec * * The complete build log is located at '/build/reef-uni/tmp/portage/logs/chromeos-base:dev-install-0.0.1-r919:20170605-162749.log'. * The complete build log is located at '/build/reef-uni/tmp/portage/logs/chromeos-base:dev-install-0.0.1-r919:20170605-162749.log'. * The complete build log is located at '/build/reef-uni/tmp/portage/logs/chromeos-base:dev-install-0.0.1-r919:20170605-162749.log'. * For convenience, a symlink to the build log is located at '/build/reef-uni/tmp/portage/chromeos-base/dev-install-0.0.1-r919/temp/build.log'. * If you need support, post the output of `emerge --info '=chromeos-base/dev-install-0.0.1-r919::chromiumos'`, * For convenience, a symlink to the build log is located at '/build/reef-uni/tmp/portage/chromeos-base/dev-install-0.0.1-r919/temp/build.log'. * For convenience, a symlink to the build log is located at '/build/reef-uni/tmp/portage/chromeos-base/dev-install-0.0.1-r919/temp/build.log'. * the complete build log and the output of `emerge -pqv '=chromeos-base/dev-install-0.0.1-r919::chromiumos'`. /usr/lib64/portage/bin/isolated-functions.sh: line 195: wait: ``USE="abi_x86_64 amd64 board_use_reef-uni cros-debug elibc_glibc kernel_linux unibuild userland_GNU" emerge-reef virtual/target-os-dev` failed': not a pid or valid job spec * The ebuild environment file is located at '/build/reef-uni/tmp/portage/chromeos-base/dev-install-0.0.1-r919/temp/environment'. * The ebuild environment file is located at '/build/reef-uni/tmp/portage/chromeos-base/dev-install-0.0.1-r919/temp/environment'. * The ebuild environment file is located at '/build/reef-uni/tmp/portage/chromeos-base/dev-install-0.0.1-r919/temp/environment'. * The complete build log is located at '/build/reef-uni/tmp/portage/logs/chromeos-base:dev-install-0.0.1-r919:20170605-162749.log'. * Working directory: '/build/reef-uni/tmp/portage/chromeos-base/dev-install-0.0.1-r919/work/build' * Working directory: '/build/reef-uni/tmp/portage/chromeos-base/dev-install-0.0.1-r919/work/build' * For convenience, a symlink to the build log is located at '/build/reef-uni/tmp/portage/chromeos-base/dev-install-0.0.1-r919/temp/build.log'. * Working directory: '/build/reef-uni/tmp/portage/chromeos-base/dev-install-0.0.1-r919/work/build' * S: '/mnt/host/source/src/platform/dev' * S: '/mnt/host/source/src/platform/dev' * S: '/mnt/host/source/src/platform/dev' * The ebuild environment file is located at '/build/reef-uni/tmp/portage/chromeos-base/dev-install-0.0.1-r919/temp/environment'. * Working directory: '/build/reef-uni/tmp/portage/chromeos-base/dev-install-0.0.1-r919/work/build' * S: '/mnt/host/source/src/platform/dev' /usr/lib64/portage/bin/isolated-functions.sh: line 226: kill: (22872) - No such process /usr/lib64/portage/bin/isolated-functions.sh: line 226: kill: (22872) - No such process /usr/lib64/portage/bin/isolated-functions.sh: line 226: kill: (22872) - No such process This probably wasn't caught due to missing paladin for reef-uni.
,
Jun 5 2017
Yikes, this is bad. dev-install does a Portage emerge *inside* the build_packages emerge. (We must go deeper. /Inception) The root cause is this line of code: http://cs/chromeos_public/src/third_party/chromiumos-overlay/eclass/cros-board.eclass?l=370&rcl=75898e17c617f9cf303b3bfea87582e31327cdb3 This was checked in here: https://chromium-review.googlesource.com/c/503469/ This is a one-time thing as having a board overlay based on a non-unified build is supposed to only happen when trying to convert a legacy board to unified (i.e. reef vs reef-uni). For new reference boards, this won't happen (they won't be suffixed by -uni). I think maybe we need to pass --board_root to the nested emerge so that it's using the same /build prefix. This seems like a hack, though. Continuing to research.
,
Jun 5 2017
I wonder why cros-board is being used in this way? The intent is to provide the board name for coreboot, etc... (at least as I understand it)
,
Jun 8 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/eb879c019829b4be894f60bce75b394ad4984e17 commit eb879c019829b4be894f60bce75b394ad4984e17 Author: Jason D. Clinton <jclinton@chromium.org> Date: Thu Jun 08 15:17:52 2017 Fix reef-uni build: add get_current_board_with_variant non-uni This adds a paramenter to get_current_board_with_variant that defaults to false to optionally not drop the -uni suffix off of a board name while it's returning the variants. get_current_board_with_variant is used throughout the Portage overlays and scripts so care was taken to not change the behavior in any existing call site. BUG= chromium:729604 TEST=emerge-reef-uni --nodeps chromeos-base/dev-install Change-Id: I8036740a8b399a57c311690694a2a713094a1e65 Reviewed-on: https://chromium-review.googlesource.com/524900 Commit-Ready: Simon Glass <sjg@chromium.org> Tested-by: Jason Clinton <jclinton@chromium.org> Reviewed-by: Simon Glass <sjg@chromium.org> [modify] https://crrev.com/eb879c019829b4be894f60bce75b394ad4984e17/eclass/cros-board.eclass
,
Jun 8 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/996e0e5eacb2c417a2a2658f026175bc886e8a9d commit 996e0e5eacb2c417a2a2658f026175bc886e8a9d Author: Jason D. Clinton <jclinton@chromium.org> Date: Thu Jun 08 17:10:56 2017 Fix reef-uni build: use new get_current_board_with_variant param This returns the board with the -uni prefix still attached. BUG= chromium:729604 TEST=emerge-reef-uni --nodeps chromeos-base/dev-install Change-Id: I1fffc392dc4c40e0fbd25e553362c0d53974b1d2 Reviewed-on: https://chromium-review.googlesource.com/526479 Commit-Ready: Jason Clinton <jclinton@chromium.org> Tested-by: Jason Clinton <jclinton@chromium.org> Reviewed-by: Simon Glass <sjg@chromium.org> [modify] https://crrev.com/996e0e5eacb2c417a2a2658f026175bc886e8a9d/chromeos-base/dev-install/dev-install-9999.ebuild
,
Jun 8 2017
,
Jul 5 2017
,
Jan 22 2018
|
||||
►
Sign in to add a comment |
||||
Comment 1 by jclinton@chromium.org
, Jun 5 2017