New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 650482 link

Starred by 4 users

Issue metadata

Status: Fixed
Owner:
Closed: Oct 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug



Sign in to add a comment

fetch chromium fails on systems without curl

Project Member Reported by thomasanderson@chromium.org, Sep 26 2016

Issue description

Freshly-installed debian systems do not have curl installed, however it is needed by install-sysroot.py
https://cs.chromium.org/chromium/src/build/linux/sysroot_scripts/install-sysroot.py?rcl=0&l=242

"fetch chromium" and "gclient sync" both fail.  Since the checkout is not complete, users can't run install-build-deps.sh.

We should consider using a solution like wget to /tmp
 
Maybe http://dev.chromium.org/developers/how-tos/get-the-code and https://chromium.googlesource.com/chromium/src/+/master/docs/linux_build_instructions.md should instead say the following?

- Download url/to/latest/install-build-deps.sh (by whatever means)
- Run it
- Then fetch
Is adding that extra step for developers really better than just using wget?

Also it appears there's at least one more problem which I discovered after installing curl.  On the page you linked:

Ubuntu: Once you have checked out the code, run build/install-build-deps.sh
Debian: Follow the Ubuntu instructions above.

When I try to run install-build-deps.sh on debian: 
ERROR: Only Ubuntu 12.04 (precise), 14.04 (trusty),  14.10 (utopic), 15.04 (vivid), 15.10 (wily) and 16.04 (xenial)  are currently supported

So it appears either the instructions are wrong, or install-build-deps.sh is giving a false positive.
Are you saying Debian systems come with wget by default by not curl? I wonder why we bother with curl when we can probably just use wget everywhere in Linux only script? For cross-platform, maybe use curl since Macs don't have wget by default.

As for the install-build-deps.sh failure on Debian, I have no idea who wrote the instructions.
> Are you saying Debian systems come with wget by default by not curl?
Yes
I'm not opposed to using wget. Maybe see who started using curl in the first place and see if they had some good reasons that I didn't think of?

Comment 6 by tandrii@google.com, Sep 27 2016

Components: -Infra Infra>SDK
Am I understanding this correctly?

fetch calls `gclient sync`, which invokes `gclient runhooks` directly, which will fail because `install-build-deps.sh` hasn't run. 

The docs currently say that you need to run install-build-deps, but they don't say that you need to run `fetch --no-hooks chromium` instead of `fetch chromium`. Maybe just update the docs to say use `--no-hooks` on Linux?

Comment 8 by jru...@gmail.com, Oct 6 2016

This took me a while to figure out. Could we at least add a couple of lines of code that throw a clear exception so that it doesn't waste other's time as well?
Owner: thomasanderson@chromium.org
Status: Started (was: Untriaged)
Starting since this is now seen by users
Project Member

Comment 10 by bugdroid1@chromium.org, Oct 6 2016

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

commit afeed464143898afff1654acb2f47a69e50f86eb
Author: thomasanderson <thomasanderson@google.com>
Date: Thu Oct 06 20:18:19 2016

Build: Use wget instead of curl to download sysroots

R=dpranke@chromium.org

BUG= 650482 

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

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

Status: Fixed (was: Started)
Cc: sbc@chromium.org mmoss@chromium.org phajdan.jr@chromium.org
 Issue 621265  has been merged into this issue.
Project Member

Comment 13 by bugdroid1@chromium.org, Oct 27 2016

Labels: merge-merged-2840
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/afeed464143898afff1654acb2f47a69e50f86eb

commit afeed464143898afff1654acb2f47a69e50f86eb
Author: thomasanderson <thomasanderson@google.com>
Date: Thu Oct 06 20:18:19 2016

Build: Use wget instead of curl to download sysroots

R=dpranke@chromium.org

BUG= 650482 

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

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

Comment 14 by dimu@google.com, Nov 4 2016

Labels: -merge-merged-2840
[Automated comment] removing mislabelled merge-merged-2840
Project Member

Comment 15 by bugdroid1@chromium.org, Dec 1 2016

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

commit 3a7e078c89ca15736fed29638f2207494801572f
Author: thomasanderson <thomasanderson@google.com>
Date: Thu Dec 01 23:23:21 2016

Remove wget usage from install-sysroot.py

CL https://codereview.chromium.org/2398633004/ used wget instead of
curl to download the sysroots because it was more standard.  However,
not even wget is bundled with some freshly-installed distros, so just
use python's urllib to download the sysroot tarballs directly.

BUG= 650482 
R=dpranke@chromium.org

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

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

Sign in to add a comment