Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can’t install Rust 1.7 #502

Closed
SimonSapin opened this issue May 27, 2016 · 7 comments
Closed

Can’t install Rust 1.7 #502

SimonSapin opened this issue May 27, 2016 · 7 comments

Comments

@SimonSapin
Copy link
Contributor

$ rustup update 1.7.0
info: syncing channel updates for '1.7.0-x86_64-unknown-linux-gnu'
error: could not download file from 'https://static.rust-lang.org/dist/channel-rust-1.7.0.toml.sha256' to '/home/simon/tmp/rustup/tmp/t8x2esx8afoxnd_y_file
info: caused by: http request returned an unsuccessful status code: 404
@masklinn
Copy link

Confirming, all of the pre-1.8.0 channel description files (and corresponding hashfiles) are now missing from https://static.rust-lang.org/dist, so rustup.rs (and probably the old multirust?) now error when trying to install anything between 1.0 and 1.7, or when doing a bulk-update with these channel having been installed previously.

@SimonSapin
Copy link
Contributor Author

CC @brson @edunham

@brson
Copy link
Contributor

brson commented May 31, 2016

rustup is supposed to fallback to a different download strategy for versions prior to 1.8 (there are no manifest files for them), but it seems that fallback has broken recently.

cuviper added a commit to cuviper/rustup.rs that referenced this issue Jun 4, 2016
Rust pre-1.8.0 didn't have any manifests, so this leads to status 404.
Only error `CURLE_FILE_COULDNT_READ_FILE` was mapping to `Download404`
though, so a "successful" status 404 was causing rustup to give up on
old versions entirely.  Now status 404 is mapped correctly too, and the
manifest fallbacks work correctly.

Fixes rust-lang#487.
Fixes rust-lang#502.
@brson brson closed this as completed in #515 Jun 7, 2016
@jansegre
Copy link

jansegre commented Jul 13, 2016

Is this really fixed?

I tried installing v1.7.0 on a new machine today:

$ rustup toolchain install 1.7.0
info: syncing channel updates for '1.7.0-x86_64-unknown-linux-gnu'
error: could not download file from 'https://static.rust-lang.org/dist/channel-rust-1.7.0.toml.sha256' to '/home/jan/.multirust/tmp/x559c7gmth89ocy5_file
info: caused by: http request returned an unsuccessful status code: 403

I'm using the latest released rustup:

$ rustup --version
rustup 0.2.0 (57f335a 2016-06-21)

The commit that should have fixed this was merge before the release date (though that doesn't mean it was on that release, it probably is).

Can anyone confirm?

Edit: just noticed the URL errors with 403, so maybe something changed on how files are served that caused rustup to break since the fix seems to deal on how to handle a 404.

@cuviper
Copy link
Member

cuviper commented Jul 13, 2016

It was definitely working for a while, but yes it seems broken anew, differently.

I've noticed that https://static.rust-lang.org/dist/ now returns a 0-byte binary, whereas /dist//index.html still works. Then anything that should be 404 like /dist/foo is instead a 403.

I guess we could fix rustup so that 403 (or maybe any 4xx) status will also retry with the fallback. That's seems like a big kludge though...

@jansegre
Copy link

Does it actually need a fallback mechanism? What if it was hardcoded for version < 1.8? Other than that a fallback on 4xx seems resonable.

But anyway, I understand it's not exactly a bug on rustup, but more on the distribution. Nonetheless something broke. What's the best way to bring people that work on the distribution to this conversation?

@cuviper
Copy link
Member

cuviper commented Jul 13, 2016

What if it was hardcoded for version < 1.8?

Ideally the fix should work for old nightlies too (#487). I suppose that could use a hardcoded date range.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants