rust-lang / rust-lang/rustup

Can't install, fails with: "internal error inside Hyper and/or its dependencies, please report"

Open
#3,391 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug incomplete
Dominant language
Rust
Stars
7k
Forks
1.1k
Avg merge
22h 40m
Merged PRs (30d)
46

Description

Problem

I'm trying to install Rust using the recommended rustup command:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

but it's failing like so (with --verbose):

info: profile set to 'default'
info: default host triple is x86_64-unknown-linux-gnu
verbose: installing toolchain 'stable-x86_64-unknown-linux-gnu'
verbose: toolchain directory: '/home/mgalgs/.rustup/toolchains/stable-x86_64-unknown-linux-gnu'
info: syncing channel updates for 'stable-x86_64-unknown-linux-gnu'
verbose: creating temp file: /home/mgalgs/.rustup/tmp/z0knt4q4ahiof37m_file
verbose: downloading file from: 'https://static.rust-lang.org/dist/channel-rust-stable.toml.sha256'
verbose: downloading with reqwest
verbose: removing toolchain directory: '/home/mgalgs/.rustup/toolchains/stable-x86_64-unknown-linux-gnu'
error: could not download file from 'https://static.rust-lang.org/dist/channel-rust-stable.toml.sha256' to '/home/mgalgs/.rustup/tmp/z0knt4q4ahiof37m_file'

Caused by:
    0: failed to make network request
    1: error sending request for url (https://static.rust-lang.org/dist/channel-rust-stable.toml.sha256): internal error inside Hyper and/or its dependencies, please report
    2: internal error inside Hyper and/or its dependencies, please report

I've also tried forcing the curl fallback download helper as recommended in #1328 (by setting RUSTUP_USE_CURL=1), but it fails with a different error:

info: profile set to 'default'
info: default host triple is x86_64-unknown-linux-gnu
verbose: installing toolchain 'stable-x86_64-unknown-linux-gnu'
verbose: toolchain directory: '/home/mgalgs/.rustup/toolchains/stable-x86_64-unknown-linux-gnu'
info: syncing channel updates for 'stable-x86_64-unknown-linux-gnu'
verbose: creating temp file: /home/mgalgs/.rustup/tmp/0hk5cenyeo3kf8o5_file
verbose: downloading file from: 'https://static.rust-lang.org/dist/channel-rust-stable.toml.sha256'
verbose: downloading with curl
verbose: manifest not found. trying legacy manifest
verbose: creating temp file: /home/mgalgs/.rustup/tmp/r0ttxaytzd3en0ng_file
verbose: downloading file from: 'https://static.rust-lang.org/dist/channel-rust-stable.sha256'
verbose: downloading with curl
verbose: removing toolchain directory: '/home/mgalgs/.rustup/toolchains/stable-x86_64-unknown-linux-gnu'
error: no release found for 'stable'
Steps
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Possible Solution(s)

No response

Notes

This is on Arch Linux, x86_64. No network proxy. I'm able to curl https://static.rust-lang.org/dist/channel-rust-stable.toml.sha256 just fine:

curl https://static.rust-lang.org/dist/channel-rust-stable.toml.sha256
81d62a9e0d32f621d8cd83c07640bf91adc3467cb72dafd2e46f004a3d00cb27  channel-rust-stable.toml

Oddly enough, I have another machine on this same network also running Arch, using the same DNS, same default route, same kernel, same network proxy settings (no proxy), similar package selection (both fully up-to-date), and rustup (same version) works just fine on that machine.

Rustup version
`rustup-init 1.26.0 (5af9b9484 2023-04-05)`
Installed toolchains
❯ /tmp/rustup show
info: downloading installer
error: error: Found argument 'show' which wasn't expected, or isn't valid in this context

USAGE:
    rustup-init [OPTIONS]

For more information try --help

Guess I'm not bootstrapped far enough along to have a working show subcommand?

Oh wait, hold on, here you go:

❯ ~/.cargo/bin/rustup show
Default host: x86_64-unknown-linux-gnu
rustup home:  /home/mgalgs/.rustup

no active toolchain

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh command on the reported Arch Linux setup, comparing the verbose Hyper and curl download paths. Use the working curl request and the second Arch machine as comparisons; done means identifying the environmental or rustup cause and confirming a fix for stable manifest downloads.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
devtools
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.