Skip to content

Bump musl libc and gcc version for *-musl targets - #1799

Open
Dirreke wants to merge 1 commit into
cross-rs:mainfrom
Dirreke:feat/musl-crosstool-ng-upgrade
Open

Dirreke wants to merge 1 commit into
cross-rs:mainfrom
Dirreke:feat/musl-crosstool-ng-upgrade

Conversation

@Dirreke

@Dirreke Dirreke commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Close #1794

This PR updates the existing *-musl targets to use a newer musl toolchain while keeping the previous toolchain available for compatibility.

  • Migrate the affected musl targets from musl-cross-make to crosstool-ng.
  • Upgrade the default toolchain from musl 1.2.3 / GCC 9.2.0 to musl 1.2.5 / GCC 14.3.0.
  • Keep the previous musl 1.2.3 / GCC 9.2.0 toolchain available through :legacy images.
  • Refresh the target/toolchain table in the README and document how to use the legacy images.

@Dirreke
Dirreke requested a review from a team as a code owner August 26, 2026 17:05

@Emilgardis Emilgardis 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.

Thank you for the PR! I'm open to merge this, however it will double CI time for musl. Not sure if I like that. Will have to think about it

Comment thread README.md Outdated
`Cross.toml` for `[target.aarch64-unknown-linux-gnu]` to use the
CentOS7-compatible target.

[8] To use the legacy GCC 9.2 musl toolchain, set `image = "ghcr.io/cross-rs/x86_64-unknown-linux-gnu:main-legacy"` in the

@Emilgardis Emilgardis Aug 26, 2026

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.

we have a quick way to refer to these targets using just -<sub>

Suggested change
[8] To use the legacy GCC 9.2 musl toolchain, set `image = "ghcr.io/cross-rs/x86_64-unknown-linux-gnu:main-legacy"` in the
[8] To use the legacy GCC 9.2 musl toolchain, set `image = "-legacy"` in the

@Dirreke

Dirreke commented Aug 26, 2026

Copy link
Copy Markdown
Contributor Author

Thanks for the feedback! IMO, the *-legacy targets may not be necessary. For the *-musl targets, libc is statically linked, so the resulting binaries do not have a runtime dependency on the target system's libc version. Would it make sense to first try upgrading the existing *-musl targets without keeping the legacy images? This would also avoid doubling the musl CI time.

BTW, would it be possible to first run /ci try on the current changes, so I can check for any build or CI errors and finish the remaining work?

@Emilgardis

Copy link
Copy Markdown
Member

Of course! My bad forgot :)

/ci try --target -musl

And yes, im ok with omitting the legacy targets

@github-actions

This comment has been minimized.

@Dirreke

Dirreke commented Aug 26, 2026

Copy link
Copy Markdown
Contributor Author

It seems that https://www.musl-libc.org is not stable.

@Dirreke
Dirreke force-pushed the feat/musl-crosstool-ng-upgrade branch from e770f03 to 1da051e Compare August 26, 2026 20:06
@github-actions

This comment has been minimized.

@Dirreke

Dirreke commented Aug 30, 2026

Copy link
Copy Markdown
Contributor Author

@Emilgardis Would you like to give it another try?

@Emilgardis

Copy link
Copy Markdown
Member
/ci try --target *-musl*

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@Dirreke

Dirreke commented Sep 1, 2026

Copy link
Copy Markdown
Contributor Author

Looks like CI didn’t start successfully.

@Emilgardis

Copy link
Copy Markdown
Member

/ci try --target -musl

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@Dirreke
Dirreke force-pushed the feat/musl-crosstool-ng-upgrade branch from 1da051e to a2eb40f Compare September 1, 2026 17:37
@Dirreke

Dirreke commented Sep 3, 2026

Copy link
Copy Markdown
Contributor Author

@Emilgardis , Please help try x86_64-unknown-linux-musl again,thanks.

@Emilgardis

Copy link
Copy Markdown
Member

/ci try --target x86_64-unknown-linux-musl

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@Dirreke
Dirreke force-pushed the feat/musl-crosstool-ng-upgrade branch from a2eb40f to 99c74e0 Compare September 3, 2026 08:31
@Dirreke

Dirreke commented Sep 3, 2026

Copy link
Copy Markdown
Contributor Author

fixed

@Dirreke

Dirreke commented Sep 9, 2026

Copy link
Copy Markdown
Contributor Author

@Emilgardis Could you help try again?

@Emilgardis

Copy link
Copy Markdown
Member

/ci try --target -musl

@github-actions

This comment has been minimized.

@github-actions

Copy link
Copy Markdown

Try run for comment

Failed Jobs

List

@Dirreke

Dirreke commented Sep 11, 2026

Copy link
Copy Markdown
Contributor Author

Still network issue. Lets try it again tomorrow.

@Dirreke

Dirreke commented Sep 13, 2026

Copy link
Copy Markdown
Contributor Author

@Emilgardis

Sign up for free to 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.

Bump musl targets to musl 1.2.5 and GCC 14.3.0

2 participants