New issue
Advanced search Search tips

Issue 907025 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 3
Type: Bug



Sign in to add a comment

build_from_tarball.py broken by change in gn's gen.py

Project Member Reported by raphael....@intel.com, Nov 20

Issue description

This is the build_from_tarball.py counterpart of  bug 904350  that I'd overlooked.

https://gn-review.googlesource.com/c/gn/+/3200 removed the --no-sysroot option from gen.py, and I've since removed the "--with-sysroot" option from bootstrap.py.

The errors we're having in the bot are two-fold:
* build_from_tarball.py is still invoking bootstrap.py with --with-sysroot, which is an option that no longer exists starting with 72.0.3610.0. See https://ci.chromium.org/p/infra/builders/luci.infra.cron/Build%20From%20Tarball/b8929434915133491680 for an example.
* gen.py no longer has any sysroot-related options, which means even though we use Chromium's clang to build GN we still rely on the system's libstdc++. The bot seems to have GCC 4.8 installed, which is an ancient release with a very old libstdc++. See https://ci.chromium.org/p/infra/builders/luci.infra.cron/Build%20From%20Tarball/b8929401237021053920 for an example.

Fixing the first issue is somewhat simple, but I think the latter requires shipping and/or building libc++ in order to use it during the build.
 
Cc: phosek@chromium.org
Project Member

Comment 2 by bugdroid1@chromium.org, Nov 20

The following revision refers to this bug:
  https://chromium.googlesource.com/infra/infra/+/270e98a9c3166b96f0fdd35073b1af02e1b4a6f6

commit 270e98a9c3166b96f0fdd35073b1af02e1b4a6f6
Author: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
Date: Tue Nov 20 19:21:41 2018

build_from_tarball: Stop bootstrapping GN with --with-sysroot on recent M72 builds

Following https://gn-review.googlesource.com/c/gn/+/3200,
https://chromium-review.googlesource.com/c/1333391 removed the
sysroot-related options from GN's bootstrap.py in the Chromium tree.

build_from_tarball.py was not updated accordingly, and was failing with
errors such as
  <https://ci.chromium.org/p/infra/builders/luci.infra.cron/Build%20From%20Tarball/b8929434915133491680>

We cannot just stop passing --with-sysroot to bootstrap.py altogether
though, as we still have M70 and M71 tarballs created with a GN without
sysroot options but lacking the corresponding change to bootstrap.py (in
which case not passing --with-sysroot would cause bootstrap.py to call
gen.py with the --no-sysroot option and fail). Yes, this is confusing.

Bug: 907025
Change-Id: I91d03de1c5b0a53c9075bf7c74b5fc3bca128bbb
Reviewed-on: https://chromium-review.googlesource.com/c/1343319
Commit-Queue: Michael Moss <mmoss@chromium.org>
Reviewed-by: Michael Moss <mmoss@chromium.org>
Cr-Commit-Position: refs/heads/master@{#19092}
[modify] https://crrev.com/270e98a9c3166b96f0fdd35073b1af02e1b4a6f6/recipes/recipes/build_from_tarball.py
[add] https://crrev.com/270e98a9c3166b96f0fdd35073b1af02e1b4a6f6/recipes/recipes/build_from_tarball.expected/basic-gn-without-sysroot.json

Components: -Infra Infra>Client Build

Sign in to add a comment