New issue
Advanced search Search tips

Issue 638394 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Sep 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Chrome
Pri: 3
Type: Bug



Sign in to add a comment

Make chrome buildable in the "desktop ChromeOS" config using a checked-in sysroot

Project Member Reported by dpranke@chromium.org, Aug 16 2016

Issue description

Make chrome buildable in the "desktop ChromeOS" config using a checked-in sysroot.

Currently when we do Linux and Android builds, we compile against checked-in sysroots (well, sysroot images pulled down from cloud storage based on checked-in hashes anyway), but when we do a "desktop ChromeOS" build (i.e., `target_os="chromeos"`), we compile against the system headers installed on the machine. This is fragile and can lead to weird issues, so we should fix this.

One possible solution is to just make it so that that setting will work with the existing wheezy sysroot (or a slightly modified one). If that turns out to be undesirable, we'll have to create a new sysroot that can be compiled against but will still be able to run on an otherwise unmodified linux desktop.

[ We don't want to use the actual ChromeOS sysroots that are used in the simplechrome and ebuild builds, because those are intended to be used for binaries that will run on actual ChromeOS devices, rather than desktops. ]
 
(one motivating example for this comes from https://codereview.chromium.org/2163623003/ , where we wanted to add X11-xcb, but a particular library was in the (newly updated wheezy) sysroot, but not in the stock image on the machine).

Comment 2 by vapier@chromium.org, Aug 17 2016

using the existing Linux sysroot sounds like the best option as it makes it more likely to be compatible with the libs actually used at runtime when you try to execute the code (like unittests, or launching the browser).  devs do both of these things frequently.

we have CrOS sysroots continuously updated and available, but they will often be newer (or at least out of sync) with the libs that exist in the host distro.
Project Member

Comment 3 by bugdroid1@chromium.org, Aug 17 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d61be279532de3e797906b26cdbb00516703dd31

commit d61be279532de3e797906b26cdbb00516703dd31
Author: thomasanderson <thomasanderson@google.com>
Date: Wed Aug 17 00:34:40 2016

Add libbluetooth to sysroot scripts

Desktop Chromium OS is unable to build with the current wheezy sysroot because
it is missing libbluetooth-dev.

This CL adds libbluetooth to the wheezy sysroot.  Eventually we will want to
build Chromium OS with the jessie sysroot, so added libbluetooth there as well.
Finally, added to trusty sysroot for good measure.

BUG= 638394 

Review-Url: https://codereview.chromium.org/2248973003
Cr-Commit-Position: refs/heads/master@{#412397}

[modify] https://crrev.com/d61be279532de3e797906b26cdbb00516703dd31/build/linux/sysroot_scripts/packagelist.jessie.amd64
[modify] https://crrev.com/d61be279532de3e797906b26cdbb00516703dd31/build/linux/sysroot_scripts/packagelist.jessie.arm
[modify] https://crrev.com/d61be279532de3e797906b26cdbb00516703dd31/build/linux/sysroot_scripts/packagelist.jessie.arm64
[modify] https://crrev.com/d61be279532de3e797906b26cdbb00516703dd31/build/linux/sysroot_scripts/packagelist.jessie.i386
[modify] https://crrev.com/d61be279532de3e797906b26cdbb00516703dd31/build/linux/sysroot_scripts/packagelist.jessie.mipsel
[modify] https://crrev.com/d61be279532de3e797906b26cdbb00516703dd31/build/linux/sysroot_scripts/packagelist.trusty.arm
[modify] https://crrev.com/d61be279532de3e797906b26cdbb00516703dd31/build/linux/sysroot_scripts/packagelist.wheezy.amd64
[modify] https://crrev.com/d61be279532de3e797906b26cdbb00516703dd31/build/linux/sysroot_scripts/packagelist.wheezy.arm
[modify] https://crrev.com/d61be279532de3e797906b26cdbb00516703dd31/build/linux/sysroot_scripts/packagelist.wheezy.i386
[modify] https://crrev.com/d61be279532de3e797906b26cdbb00516703dd31/build/linux/sysroot_scripts/packagelist.wheezy.mipsel
[modify] https://crrev.com/d61be279532de3e797906b26cdbb00516703dd31/build/linux/sysroot_scripts/sysroot-creator-jessie.sh
[modify] https://crrev.com/d61be279532de3e797906b26cdbb00516703dd31/build/linux/sysroot_scripts/sysroot-creator-trusty.sh
[modify] https://crrev.com/d61be279532de3e797906b26cdbb00516703dd31/build/linux/sysroot_scripts/sysroot-creator-wheezy.sh

Project Member

Comment 4 by bugdroid1@chromium.org, Aug 17 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4cbbce896576f7d8e979096b206315774c23521e

commit 4cbbce896576f7d8e979096b206315774c23521e
Author: thomasanderson <thomasanderson@google.com>
Date: Wed Aug 17 01:28:23 2016

Update install-sysroot.py to include libbluetooth

Depends on https://codereview.chromium.org/2248973003/

BUG= 638394 

Review-Url: https://codereview.chromium.org/2248683005
Cr-Commit-Position: refs/heads/master@{#412410}

[modify] https://crrev.com/4cbbce896576f7d8e979096b206315774c23521e/build/linux/sysroot_scripts/install-sysroot.py

Status: Assigned (was: Untriaged)
Project Member

Comment 10 by bugdroid1@chromium.org, Aug 25 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c575bbcd130b38994e36b0a97bfe5ceea954a643

commit c575bbcd130b38994e36b0a97bfe5ceea954a643
Author: thomasanderson <thomasanderson@google.com>
Date: Thu Aug 25 22:43:20 2016

Desktop Chrome OS: Build with precise sysroot

Build and link against the Ubuntu Precise amd64 sysroot on Desktop
Chrome OS instead of always using the system libraries.

BUG= 638394 

Review-Url: https://codereview.chromium.org/2272273002
Cr-Commit-Position: refs/heads/master@{#414564}

[modify] https://crrev.com/c575bbcd130b38994e36b0a97bfe5ceea954a643/build/config/sysroot.gni
[modify] https://crrev.com/c575bbcd130b38994e36b0a97bfe5ceea954a643/build/linux/sysroot_scripts/install-sysroot.py

Status: Fixed (was: Assigned)
Project Member

Comment 12 by bugdroid1@chromium.org, Aug 26 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/faa5e808ff90870b5b5b35c65e931eec5d6285cc

commit faa5e808ff90870b5b5b35c65e931eec5d6285cc
Author: jianli <jianli@chromium.org>
Date: Fri Aug 26 00:19:54 2016

Revert of Desktop Chrome OS: Build with precise sysroot (patchset #2 id:40001 of https://codereview.chromium.org/2272273002/ )

Reason for revert:
Caused webview_licenses failure:
https://build.chromium.org/p/chromium.linux/builders/Android%20Tests/builds/31063

Original issue's description:
> Desktop Chrome OS: Build with precise sysroot
>
> Build and link against the Ubuntu Precise amd64 sysroot on Desktop
> Chrome OS instead of always using the system libraries.
>
> BUG= 638394 
>
> Committed: https://crrev.com/c575bbcd130b38994e36b0a97bfe5ceea954a643
> Cr-Commit-Position: refs/heads/master@{#414564}

TBR=dpranke@chromium.org,thomasanderson@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= 638394 

Review-Url: https://codereview.chromium.org/2285563002
Cr-Commit-Position: refs/heads/master@{#414594}

[modify] https://crrev.com/faa5e808ff90870b5b5b35c65e931eec5d6285cc/build/config/sysroot.gni
[modify] https://crrev.com/faa5e808ff90870b5b5b35c65e931eec5d6285cc/build/linux/sysroot_scripts/install-sysroot.py

Status: Started (was: Fixed)
Project Member

Comment 14 by bugdroid1@chromium.org, Aug 26 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/84f0fe90e85ecaabd054fa83e244076af09e1370

commit 84f0fe90e85ecaabd054fa83e244076af09e1370
Author: dpranke <dpranke@chromium.org>
Date: Fri Aug 26 03:52:57 2016

Stop ignoring the ubuntu precise sysroot.

We added a new sysroot in r414564 and reverted the change in
r414594, but we left the .gitignore entries in. I suspect
that this is keeping the sysroot directory from being cleaned
up, and the license checks are still failing.

TBR=thomasanderson@chromium.org, jianli@chromium.org, haraken@chromium.org
NOTRY=true
BUG= 638394 

Review-Url: https://codereview.chromium.org/2279143002
Cr-Commit-Position: refs/heads/master@{#414646}

[modify] https://crrev.com/84f0fe90e85ecaabd054fa83e244076af09e1370/.gitignore

Project Member

Comment 15 by bugdroid1@chromium.org, Aug 26 2016

Status: Fixed (was: Started)

Sign in to add a comment