Rustup: seems rustup-init for arm-unknown-linux-gnueabihf linked with libcurl without ssl support

Created on 19 Apr 2017  路  4Comments  路  Source: rust-lang/rustup

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)

Most helpful comment

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

All 4 comments

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

Was this page helpful?
0 / 5 - 0 ratings