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

rustup can't update itself to v1.25.2 on aarch64-pc-windows-msvc platform #3187

Closed
ssg opened this issue Feb 2, 2023 · 6 comments
Closed
Labels

Comments

@ssg
Copy link

ssg commented Feb 2, 2023

Problem

Trying to rustup update from 1.25.1 to 1.25.2 fails to update itself with this error message on ARM64 Windows:

error: could not download file from 'https://static.rust-lang.org/rustup/archive/1.25.2/aarch64-pc-windows-msvc/rustup-init.exe' to '..local folder..': http request returned an unsuccessful status code: 404

Steps

  1. Run rustup update
  2. Observe error message

Possible Solution(s)

Put the missing file in place.

Notes

No response

Rustup version

1.25.1

Installed toolchains

Default host: aarch64-pc-windows-msvc

stable-aarch64-pc-windows-msvc (default)
rustc 1.67.0 (fc594f156 2023-01-24)
@ssg ssg added the bug label Feb 2, 2023
@ehuss
Copy link
Contributor

ehuss commented Feb 2, 2023

Copying my comment from Zulip thread:

This appears to be an issue with how rustup detects the platform of what it should download.

The installer shell script installs the i686-pc-windows-msvc binary on aarch64. The aarch64 release isn't available on stable, yet (see #2612).

However, the self-update code here detects the native architecture of the system it is running on, and thinks it needs the aarch64 version of rustup.

It's not clear why it is done this way.

A workaround is to force the arch:

RUSTUP_OVERRIDE_HOST_TRIPLE=i686-pc-windows-msvc rustup self update

@arlosi
Copy link
Contributor

arlosi commented Feb 2, 2023

#3010 added the native architecture detection so that rustup would install the native aarch64 Rust toolchain on aarch64 hosts by default (similar to how it installs native x86_64, even though rustup itself can be i686).

I didn't realize it was also used for self-update. The simplest fix would be to close #2612 by enabling the distribution of aarch64 builds of stable rustup. I believe it's using native-tls instead of ring, but that should be fine.

Feel free to ping me if we need more testing on aarch64 hw. I have a Surface Pro X.

@Alovchin91
Copy link
Contributor

Alovchin91 commented Feb 4, 2023

Hi @arlosi @ehuss I’ve been bumping this thread for half a year now but nobody ever responded: #2612 (comment)

Ring is hardly happening, and WebPKI is the next unmaintained project to update.

Why can’t we just release the native-tls version of rustup-init on Windows arm64 for now (the one that is currently built on master)? We can always switch later if rustls is ever unblocked.

@ssg
Copy link
Author

ssg commented Feb 4, 2023

@Alovchin91 I see that the last update to ring was 2 months ago. It looks far from abandoned. But, I agree that it shouldn't be a blocker for rustup.

@Alovchin91
Copy link
Contributor

Alovchin91 commented Feb 5, 2023

@ssg I didn't mean Ring is abandoned, but it's clearly not a priority for the author at the moment 🤷‍♂️ I've contributed Windows ARM support to ring-rs almost 1,5 years ago; since then there was no single release.

@rbtcollins
Copy link
Contributor

I'm going to close this bug in favor of #2612.

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

No branches or pull requests

5 participants