rustup out:
pi@raspberrypi:~/bin $ curl https://sh.rustup.rs -sSf |bash
info: downloading installer
Welcome to Rust!
This will download and install the official compiler for the Rust programming
language, and its package manager, Cargo.
It will add the cargo, rustc, rustup and other commands to Cargo's bin
directory, located at:
/home/pi/.cargo/bin
This path will then be added to your PATH environment variable by modifying the
profile file located at:
/home/pi/.profile
You can uninstall at any time with rustup self uninstall and these changes will
be reverted.
Current installation options:
default host triple: arm-unknown-linux-gnueabihf
default toolchain: stable
modify PATH variable: yes
1) Proceed with installation (default)
2) Customize installation
3) Cancel installation
1
info: syncing channel updates for 'stable-arm-unknown-linux-gnueabihf'
error: could not download file from 'https://static.rust-lang.org/dist/channel-rust-stable.toml.sha256' to '/home/pi/.rustup/tmp/41adkd1850_oqmi0_file'
info: caused by: error during download
info: caused by: [1] Unsupported protocol (Protocol "https" not supported or disabled in libcurl)
I am experiencing the same issues on Raspberry Pi
pi@raspberrypi:~ $ bash rustup.sh
+ RUSTUP_UPDATE_ROOT=https://static.rust-lang.org/rustup/dist
+ main
+ need_cmd uname
+ command -v uname
+ need_cmd curl
+ command -v curl
+ need_cmd mktemp
+ command -v mktemp
+ need_cmd chmod
+ command -v chmod
+ need_cmd mkdir
+ command -v mkdir
+ need_cmd rm
+ command -v rm
+ need_cmd rmdir
+ command -v rmdir
+ get_architecture
++ uname -s
+ local _ostype=Linux
++ uname -m
+ local _cputype=armv7l
+ '[' Linux = Linux ']'
++ uname -o
+ '[' GNU/Linux = Android ']'
+ '[' Linux = Darwin -a armv7l = i386 ']'
+ case "$_ostype" in
+ local _ostype=unknown-linux-gnu
+ case "$_cputype" in
+ local _cputype=armv7
+ '[' unknown-linux-gnu == linux-android ']'
+ local _ostype=unknown-linux-gnueabihf
+ '[' unknown-linux-gnueabihf = unknown-linux-gnu -a armv7 = x86_64 ']'
+ '[' unknown-linux-gnueabihf = unknown-linux-gnueabihf -a armv7 = armv7 ']'
+ ensure grep '^Features' /proc/cpuinfo
+ grep '^Features' /proc/cpuinfo
+ grep -q -v neon
+ need_ok 'command failed: grep ^Features /proc/cpuinfo'
+ '[' 0 '!=' 0 ']'
+ local _arch=armv7-unknown-linux-gnueabihf
+ RETVAL=armv7-unknown-linux-gnueabihf
+ local _arch=armv7-unknown-linux-gnueabihf
+ assert_nz armv7-unknown-linux-gnueabihf arch
+ '[' -z armv7-unknown-linux-gnueabihf ']'
+ local _ext=
+ case "$_arch" in
+ local _url=https://static.rust-lang.org/rustup/dist/armv7-unknown-linux-gnueabihf/rustup-init
++ mktemp -d
+ local _dir=/tmp/tmp.SLIwXYlr7a
+ local _file=/tmp/tmp.SLIwXYlr7a/rustup-init
+ local _ansi_escapes_are_valid=false
+ '[' -t 2 ']'
+ '[' set = set ']'
+ case "$TERM" in
+ local need_tty=yes
+ false
+ printf '%s\n' 'info: downloading installer'
info: downloading installer
+ ensure mkdir -p /tmp/tmp.SLIwXYlr7a
+ mkdir -p /tmp/tmp.SLIwXYlr7a
+ need_ok 'command failed: mkdir -p /tmp/tmp.SLIwXYlr7a'
+ '[' 0 '!=' 0 ']'
+ ensure curl -sSfL https://static.rust-lang.org/rustup/dist/armv7-unknown-linux-gnueabihf/rustup-init -o /tmp/tmp.SLIwXYlr7a/rustup-init
+ curl -sSfL https://static.rust-lang.org/rustup/dist/armv7-unknown-linux-gnueabihf/rustup-init -o /tmp/tmp.SLIwXYlr7a/rustup-init
+ need_ok 'command failed: curl -sSfL https://static.rust-lang.org/rustup/dist/armv7-unknown-linux-gnueabihf/rustup-init -o /tmp/tmp.SLIwXYlr7a/rustup-init'
+ '[' 0 '!=' 0 ']'
+ ensure chmod u+x /tmp/tmp.SLIwXYlr7a/rustup-init
+ chmod u+x /tmp/tmp.SLIwXYlr7a/rustup-init
+ need_ok 'command failed: chmod u+x /tmp/tmp.SLIwXYlr7a/rustup-init'
+ '[' 0 '!=' 0 ']'
+ '[' '!' -x /tmp/tmp.SLIwXYlr7a/rustup-init ']'
+ '[' yes = yes ']'
+ '[' '!' -t 1 ']'
+ ignore /tmp/tmp.SLIwXYlr7a/rustup-init
+ /tmp/tmp.SLIwXYlr7a/rustup-init
Welcome to Rust!
This will download and install the official compiler for the Rust programming
language, and its package manager, Cargo.
It will add the cargo, rustc, rustup and other commands to Cargo's bin
directory, located at:
/home/pi/.cargo/bin
This path will then be added to your PATH environment variable by modifying the
profile file located at:
/home/pi/.profile
You can uninstall at any time with rustup self uninstall and these changes will
be reverted.
Current installation options:
default host triple: armv7-unknown-linux-gnueabihf
default toolchain: stable
modify PATH variable: yes
1) Proceed with installation (default)
2) Customize installation
3) Cancel installation
1
info: syncing channel updates for 'stable-armv7-unknown-linux-gnueabihf'
error: could not download file from 'https://static.rust-lang.org/dist/channel-rust-stable.toml.sha256' to '/home/pi/.rustup/tmp/09efqgysg09re7v6_file'
info: caused by: error during download
info: caused by: [1] Unsupported protocol (Protocol "https" not supported or disabled in libcurl)
+ local _retval=1
+ ignore rm /tmp/tmp.SLIwXYlr7a/rustup-init
+ rm /tmp/tmp.SLIwXYlr7a/rustup-init
+ ignore rmdir /tmp/tmp.SLIwXYlr7a
+ rmdir /tmp/tmp.SLIwXYlr7a
+ return 1
+ exit 1
Using hyper fixed the issue (as in https://github.com/rust-lang-nursery/rustup.rs/issues/1051):
export RUSTUP_USE_HYPER=1
curl https://sh.rustup.rs -sSf | sh
Same for me.
Duplicate of #1051
Most helpful comment
Using hyper fixed the issue (as in https://github.com/rust-lang-nursery/rustup.rs/issues/1051):