rustup icon indicating copy to clipboard operation
rustup copied to clipboard

Rustup cannot download hash file for toolchains channel information under Wine

Open llde opened this issue 1 year ago • 3 comments

Problem

Hi, When trying to install a MSVC toolchain using Rustup under wine (x64 and x86 rustup versions for windows affected) it fails with this error:

error: could not download file from 'https://static.rust-lang.org/dist/channel-rust-stable.toml.sha256' to 'C:\users\lorenzo\.rustup\tmp\scoucda6ta418hod_file': failed to make network request: error sending request for url (https://static.rust-lang.org/dist/channel-rust-stable.toml.sha256): operation timed out: operation timed out

I did see this error seems to happen also on different platforms, but it's consistent on Wine. It's possible that it's not a specific wine deficiency, but worse performance under wine (socket performances are not on par with windows, expecially asyncronous and non blocking ones) are making the problem manifest. I can download toolchains from the native linux rustup, however it's easier to be able to manage the msvc rust toolchain inside the Wine Prefix where Visual Studio 2019 and the C++ Build tools are installed

RUSTUP_USE_CURL=1 is a workaround, and allow rustup to properly download

Thanks for the attention

Steps

  1. export WINEPREFIX="(PAth for VS wine prefix)"
  2. wine rustup-init.exe
  3. Press enter and wait

Possible Solution(s)

RUSTUP_USE_CURL=1 is a workaround

Notes

Wine, Wine-Staging and Wine-TKG affected. Problem existed in wine 7.x

Rustup version

1.26.0  (but this problem existed in all previous version for some years)

Installed toolchains

None

llde avatar Mar 01 '24 23:03 llde

Reported this as a reqwest issue: https://github.com/seanmonstar/reqwest/issues/2158.

djc avatar Mar 06 '24 13:03 djc

RUSTUP_USE_RUSTLS=1 seems to be another workaround with last rustup version. Without any envvars setted problems still persist @djc

llde avatar May 04 '24 13:05 llde

RUSTUP_USE_RUSTLS=1 seems to be another workaround with last rustup version. Without any envvars setted problems still persist

@llde That kinda makes sense since the current default is to use Windows' own TLS stack, and I have no idea if that works well under Wine or not...

rami3l avatar May 04 '24 13:05 rami3l