Skip to content

Add powerpc64 unknown linux musl support - #4688

Merged
rami3l merged 1 commit into
rust-lang:mainfrom
Gelbpunkt:powerpc64-unknown-linux-musl
Jan 26, 2026
Merged

Add powerpc64 unknown linux musl support#4688
rami3l merged 1 commit into
rust-lang:mainfrom
Gelbpunkt:powerpc64-unknown-linux-musl

Conversation

@Gelbpunkt

@GelbpunktGelbpunkt commented Jan 26, 2026

Copy link
Copy Markdown
Contributor

Hi, this target is now tier 2 with host tools (since yesterday). The PR adds support for it in rustup. Since the job for the powerpc64-unknown-linux-gnu build was renamed at the same time, I took the freedom to also rename it here.

I built the rustup-init binary cross using the Docker image from an x86_64 host and ran it on the target:

rustup-init on the target
aelin@algol /tmp> ./rustup-init
Welcome to Rust!
This will download and install the official compiler for the Rust
programming language, and its package manager, Cargo.
Rustup metadata and toolchains will be installed into the Rustup
home directory, located at:
/home/aelin/.rustup
This can be modified with the RUSTUP_HOME environment variable.
The Cargo home directory is located at:
/home/aelin/.cargo
This can be modified with the CARGO_HOME environment variable.
The cargo, rustc, rustup and other commands will be added to
Cargo's bin directory, located at:
/home/aelin/.cargo/bin
This path will then be added to your PATH environment variable by
modifying the profile files located at:
/home/aelin/.profile
/home/aelin/.config/fish/conf.d/rustup.fish
You can uninstall at any time with rustup self uninstall and
these changes will be reverted.
Current installation options:
default host triple: powerpc64-unknown-linux-musl
default toolchain: stable (default)
profile: default
modify PATH variable: yes
1) Proceed with standard installation (default - just press enter)
2) Customize installation
3) Cancel installation
>2
I'm going to ask you the value of each of these installation options.
You may simply press the Enter key to leave unchanged.
Default host triple? [powerpc64-unknown-linux-musl]
Default toolchain? (stable/beta/nightly/none) [stable]
nightly
Profile (which tools and data to install)? (minimal/default/complete) [default]
minimal
Modify PATH variable? (Y/n)
n
Current installation options:
default host triple: powerpc64-unknown-linux-musl
default toolchain: nightly
profile: minimal
modify PATH variable: no
1) Proceed with selected options (default - just press enter)
2) Customize installation
3) Cancel installation
>1
info: profile set to minimal
info: setting default host triple to powerpc64-unknown-linux-musl
info: syncing channel updates for nightly-powerpc64-unknown-linux-musl
info: latest update on 2026-01-26 for version 1.95.0-nightly (873d4682c 2026-01-25)
info: downloading 3 components
cargo installed 10.72 MiB
rust-std installed 23.88 MiB
rustc installed 102.95 MiB info: default toolchain set to nightly-powerpc64-unknown-linux-musl
nightly-powerpc64-unknown-linux-musl installed - rustc 1.95.0-nightly (873d4682c 2026-01-25)
Rust is installed now. Great!
To get started you need Cargo's bin directory ($HOME/.cargo/bin) in your PATH
environment variable. This has not been done automatically.
To configure your current shell, you need to source
the corresponding env file under $HOME/.cargo.
This is usually done by running one of the following (note the leading DOT):
. "$HOME/.cargo/env" # For sh/bash/zsh/ash/dash/pdksh
source "$HOME/.cargo/env.fish" # For fish
source $"($nu.home-path)/.cargo/env.nu" # For nushell
source "$HOME/.cargo/env.tcsh" # For tcsh
. "$HOME/.cargo/env.ps1" # For pwsh
source "$HOME/.cargo/env.xsh" # For xonsh

@Gelbpunkt
Gelbpunktforce-pushed the powerpc64-unknown-linux-musl branch 3 times, most recently from eda6e6c to 0620a35CompareJanuary 26, 2026 07:26
@Gelbpunkt

Copy link
Copy Markdown
ContributorAuthor

I can't get it to build in CI since it always uses a stable toolchain, whereas this target can only be cross compiled to with a nightly toolchain (since the std component for it is only distributed on nightly). Not sure how to proceed here.

djc
djc approved these changes Jan 26, 2026
@rami3l

Copy link
Copy Markdown
Member

I can't get it to build in CI since it always uses a stable toolchain, whereas this target can only be cross compiled to with a nightly toolchain (since the std component for it is only distributed on nightly). Not sure how to proceed here.

@Gelbpunkt No worries! You could refer to #3921 and add all the skips including skip-stable here... When it reaches stable we do 7652a85.

Comment threadci/fetch-rust-docker.bash
@Gelbpunkt
Gelbpunktforce-pushed the powerpc64-unknown-linux-musl branch 2 times, most recently from 0bc7313 to b7361c6CompareJanuary 26, 2026 10:10

@rami3lrami3l left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Gelbpunkt LGTM :)

PS: I might need your help to promote this to stable once the target reaches stable in the toolchain in case anything goes wrong, many thanks in advance 🙏

@rami3l
rami3l added this pull request to the merge queueJan 26, 2026
@Gelbpunkt

Copy link
Copy Markdown
ContributorAuthor

PS: I might need your help to promote this to stable once the target reaches stable in the toolchain in case anything goes wrong, many thanks in advance 🙏

I'll try my best to remember to enable it in CI here once 1.95 is out :)

Merged via the queue into rust-lang:main with commit 07f0f85Jan 26, 2026
58 checks passed
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@Gelbpunkt@rami3l@djc