Rustup: installer for platform 'armv7-unknown-linux-musleabihf' not found, this may be unsupported

Hi,

I'm trying to install rust on a Python manylinux Docker image (in order to compile a Python package that has a Rust component), specifically musllinux_1_2_armv7l, but I'm getting a problem.

Running the following to start the container

docker run --rm -it quay.io/pypa/musllinux_1_2_armv7l

and then running the following in the container:

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

results in the error:

rustup: installer for platform 'armv7-unknown-linux-musleabihf' not found, this may be unsupported

The install works fine on other manylinux Docker images, e.g. musllinux_1_1_aarch64, but not on musllinux_1_2_armv7l. How can I install rust on musllinux_1_2_armv7l?

It appears that the armv7-unknown-linux-musleabihf target is "tier 2 without host tools", which apparently means that you can't install rustup on it. Looking through Other Installation Methods, it seems the only viable ways to install Rust on such a platform are the system package manager (if it even has Rust) and compiling from source.

That's correct. armv7-unknown-linux-musleabihf is a cross-compile-only target. "Host Tools" refers to the native toolchain like rustc and cargo.

Aha, the system package manager I think is working for me. In this case,

apk add rust

Also thanks for the explanation of "tier 2 without host tools" == you can't install rustup, and it's a cross-compile-only target! Somehow I didn't quite manage to understand that from the docs I looked at.

Ah... in my case I also needed cargo, so the magic command is

apk add rust cargo
2 Likes