Closed
Bug 1319860
Opened 8 years ago
Closed 8 years ago
mach bootstrap does not install rust on a fresh Mac
Categories
(Firefox Build System :: General, defect)
Firefox Build System
General
Tracking
(firefox53 fixed)
RESOLVED
FIXED
mozilla53
Tracking | Status | |
---|---|---|
firefox53 | --- | fixed |
People
(Reporter: armenzg, Assigned: rillian)
References
Details
Attachments
(1 file)
Could not find a Rust compiler.
Will try to install Rust.
Downloading rustup-init... Ok
Running rustup-init...
info: syncing channel updates for 'stable-x86_64-apple-darwin'
info: downloading component 'rustc'
28.7 MiB / 28.7 MiB (100 %) 9.1 MiB/s ETA: 0 s
info: downloading component 'rust-std'
36.1 MiB / 36.1 MiB (100 %) 5.0 MiB/s ETA: 0 s
info: downloading component 'rust-docs'
7.5 MiB / 7.5 MiB (100 %) 5.1 MiB/s ETA: 0 s
info: downloading component 'cargo'
info: installing component 'rustc'
info: installing component 'rust-std'
info: installing component 'rust-docs'
info: installing component 'cargo'
info: default toolchain set to 'stable'
stable installed - rustc 1.13.0 (2c6933acc 2016-11-07)
Rust installation complete.
Could not find a Rust compiler.
We attempted to upgrade Rust to a modern version (1.13.0 or newer).
However, you appear to still have version None.
It's possible rustup failed. It's also possible the new Rust is not being
installed in the search path for this shell. Try creating a new shell and
run this bootstrapper again.
If this continues to fail and you are sure you have a modern Rust on your
system, ensure it is on the $PATH and try again. If that fails, you'll need to
install Rust manually and ensure the path with the rustc and cargo binaries
are listed in the $PATH environment variable.
We recommend the installer from https://rustup.rs/ for installing Rust,
but you may be able to get a recent enough version from a software install
tool or package manager on your system, or directly from https://rust-lang.org/
Comment 1•8 years ago
|
||
rillian added this in bug 1286799. I'm assuming that the binaries wind up in ~/.cargo/bin or something like that and they're not in your $PATH? If that's the case we should just have the bootstrapper tell you to add that to your $PATH and not print an error about it.
Blocks: 1286799
Comment 2•8 years ago
|
||
bootstrap.py did give good instructions on fixing this: .bashrc, .bashprofile (which worked for me) or .profile will have a place to modify $PATH.
Assignee | ||
Comment 3•8 years ago
|
||
I think the problem here is that we check again for a modern rust after running the compiler, but it's not going to be in path, and that's after we check for it not being in path and printing the helpful error message. I'll try to refactor a bit.
Assignee: nobody → giles
Assignee | ||
Comment 4•8 years ago
|
||
We check again after running the installer, I mean.
Comment hidden (mozreview-request) |
Assignee | ||
Updated•8 years ago
|
Attachment #8814273 -
Flags: review?(nalexander)
Assignee | ||
Comment 6•8 years ago
|
||
Drive-by holiday in-person r=nalexander to get this landed before it affects more folks.
Comment hidden (mozreview-request) |
Assignee | ||
Comment 8•8 years ago
|
||
mozreview-review |
Comment on attachment 8814273 [details]
Bug 1319860 - mozboot: Prompt to add rust to PATH after install.
https://reviewboard.mozilla.org/r/95510/#review95748
r=nalexander in person.
Attachment #8814273 -
Flags: review+
Pushed by rgiles@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/0a2a927ff038
mozboot: Prompt to add rust to PATH after install. r=nalexander
Assignee | ||
Updated•8 years ago
|
Attachment #8814273 -
Flags: review?(nalexander)
Comment 10•8 years ago
|
||
(In reply to Ralph Giles (:rillian) needinfo me from comment #6)
> Drive-by holiday in-person r=nalexander to get this landed before it affects
> more folks.
gps: I was in the office and Ralph walked me through this. It was simple enough, so we had two sets of eyes before landing.
Status: NEW → ASSIGNED
Comment 11•8 years ago
|
||
Should mach automatically add ~/.cargo/bin (or is it "$CARGO_HOME/bin"?) to $PATH?
Comment 12•8 years ago
|
||
bugherder |
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
status-firefox53:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla53
Assignee | ||
Comment 13•8 years ago
|
||
(In reply to Simon Sapin (:SimonSapin) from comment #11)
> Should mach automatically add ~/.cargo/bin (or is it "$CARGO_HOME/bin"?) to
> $PATH?
Do we already have code to do this for the user? Seems tricky if there's already PATH manipulation in the startup files.
I don't think we should do this inside `mach build`. We rely on the environment for most executables, so this would make rust behave differently from other tools.
It would be good if the installer could do something. Rustup tries by writing out a `.profile` but I think most people use the overriding .bash_profile instead. If that could be improved to work in more cases, the installer could just recommend a `source ~/.cargo/env` locally as an alternative to restarting the shell.
On Windows, the MozillaBuildBootstrapper installs an entry in the msys etc/profile.d which seems to work. https://dxr.mozilla.org/mozilla-central/source/python/mozboot/mozboot/mozillabuild.py#35
However, that's not appropriate on Linux or Mac (where it's /etc/paths.d) because rustup installs a user-local toolchain rather than a system-wide one.
Flags: needinfo?(simon.sapin)
Comment 14•8 years ago
|
||
I don’t know what the needinfo is for specifically, but my previous comment was just a random suggestion in passing. I don’t know much about gecko’s mach.
Flags: needinfo?(simon.sapin)
Assignee | ||
Comment 15•8 years ago
|
||
Ok, thanks. I was just curious if you had a specific suggestion, since I've been trying to figure out how to solve this for a while. :)
Updated•7 years ago
|
Product: Core → Firefox Build System
You need to log in
before you can comment on or make changes to this bug.
Description
•