-
Notifications
You must be signed in to change notification settings - Fork 319
Create Updating-musl-1.2.5.md #1641
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
est31
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
would it be worth to talk about dynamic linking? i.e. to say that this doesn't affect people who link dynamically. But does it also increase the minimum musl version we support dynamic linking to? That's a tougher question. IDK whether we have to answer it, but if we know the answer, we should maybe write it down here.
The maintainers of musl themselves think that dynamic linking is an important way to use their libc, and it should be used for the musl based distros.
|
I think clarifying dynamical linking would be extremely valuable. My interest here is as someone who ships Python packages with Rust code that needs to adhere to the ABI for musl package (https://peps.python.org/pep-0656/). Host tools requiring a newer musl is fine, but crates compiled for these targets requiring a newer musl would have unclear impacts. |
|
Hm. Notably, stdlib maintainers will need to know if we can use APIs that were only exposed by musl 1.2.4 and musl 1.2.5 for these targets, so we have a similar question as @alex. |
Update bundled musl to 1.2.5 Update the bundled musl library from 1.2.3 to the 1.2.5 release from February 29, 2024. * mcp: rust-lang/compiler-team#887 * blog: rust-lang/blog.rust-lang.org#1641 * Prior update: #107129 * [musl releases page](https://musl.libc.org/releases.html) -------- This is a rebase of * #125692 Which removes the second speculative commit which ended up not panning out. I've added my own second commit that updates all other places I could find that referenced musl 1.2.3 in the codebase. try-job: dist-x86_64-musl try-job: dist-i586-gnu-i586-i686-musl try-job: dist-x86_64-linux
|
(I'll incorporate the various changes once I have the crater results and can do it all at once) |
…wiser Update bundled musl to 1.2.5 Update the bundled musl library from 1.2.3 to the 1.2.5 release from February 29, 2024. * mcp: rust-lang/compiler-team#887 * blog: rust-lang/blog.rust-lang.org#1641 * Prior update: rust-lang#107129 * [musl releases page](https://musl.libc.org/releases.html) -------- This is a rebase of * rust-lang#125692 Which removes the second speculative commit which ended up not panning out. I've added my own second commit that updates all other places I could find that referenced musl 1.2.3 in the codebase. try-job: dist-x86_64-musl try-job: dist-i586-gnu-i586-i686-musl try-job: dist-x86_64-linux
…wiser Update bundled musl to 1.2.5 Update the bundled musl library from 1.2.3 to the 1.2.5 release from February 29, 2024. * mcp: rust-lang/compiler-team#887 * blog: rust-lang/blog.rust-lang.org#1641 * Prior update: rust-lang#107129 * [musl releases page](https://musl.libc.org/releases.html) -------- This is a rebase of * rust-lang#125692 Which removes the second speculative commit which ended up not panning out. I've added my own second commit that updates all other places I could find that referenced musl 1.2.3 in the codebase. try-job: dist-x86_64-musl try-job: dist-i586-gnu-i586-i686-musl try-job: dist-x86_64-linux
…wiser Update bundled musl to 1.2.5 Update the bundled musl library from 1.2.3 to the 1.2.5 release from February 29, 2024. * mcp: rust-lang/compiler-team#887 * blog: rust-lang/blog.rust-lang.org#1641 * Prior update: rust-lang#107129 * [musl releases page](https://musl.libc.org/releases.html) -------- This is a rebase of * rust-lang#125692 Which removes the second speculative commit which ended up not panning out. I've added my own second commit that updates all other places I could find that referenced musl 1.2.3 in the codebase. try-job: dist-x86_64-musl try-job: dist-i586-gnu-i586-i686-musl try-job: dist-x86_64-linux
…wiser Update bundled musl to 1.2.5 Update the bundled musl library from 1.2.3 to the 1.2.5 release from February 29, 2024. * mcp: rust-lang/compiler-team#887 * blog: rust-lang/blog.rust-lang.org#1641 * Prior update: rust-lang#107129 * [musl releases page](https://musl.libc.org/releases.html) -------- This is a rebase of * rust-lang#125692 Which removes the second speculative commit which ended up not panning out. I've added my own second commit that updates all other places I could find that referenced musl 1.2.3 in the codebase. try-job: dist-x86_64-musl try-job: dist-i586-gnu-i586-i686-musl try-job: dist-x86_64-linux
…wiser Update bundled musl to 1.2.5 Update the bundled musl library from 1.2.3 to the 1.2.5 release from February 29, 2024. * mcp: rust-lang/compiler-team#887 * blog: rust-lang/blog.rust-lang.org#1641 * Prior update: rust-lang#107129 * [musl releases page](https://musl.libc.org/releases.html) -------- This is a rebase of * rust-lang#125692 Which removes the second speculative commit which ended up not panning out. I've added my own second commit that updates all other places I could find that referenced musl 1.2.3 in the codebase. try-job: dist-x86_64-musl try-job: dist-i586-gnu-i586-i686-musl try-job: dist-x86_64-linux
…wiser Update bundled musl to 1.2.5 Update the bundled musl library from 1.2.3 to the 1.2.5 release from February 29, 2024. * mcp: rust-lang/compiler-team#887 * blog: rust-lang/blog.rust-lang.org#1641 * Prior update: rust-lang#107129 * [musl releases page](https://musl.libc.org/releases.html) -------- This is a rebase of * rust-lang#125692 Which removes the second speculative commit which ended up not panning out. I've added my own second commit that updates all other places I could find that referenced musl 1.2.3 in the codebase. try-job: dist-x86_64-musl try-job: dist-i586-gnu-i586-i686-musl try-job: dist-x86_64-linux
Rollup merge of #142682 - Gankra:update_musl_1.2.5, r=wesleywiser Update bundled musl to 1.2.5 Update the bundled musl library from 1.2.3 to the 1.2.5 release from February 29, 2024. * mcp: rust-lang/compiler-team#887 * blog: rust-lang/blog.rust-lang.org#1641 * Prior update: #107129 * [musl releases page](https://musl.libc.org/releases.html) -------- This is a rebase of * #125692 Which removes the second speculative commit which ended up not panning out. I've added my own second commit that updates all other places I could find that referenced musl 1.2.3 in the codebase. try-job: dist-x86_64-musl try-job: dist-i586-gnu-i586-i686-musl try-job: dist-x86_64-linux
|
Congratz on the PR being merged! 🎉 The change should get into 1.93, which will be stable on January 22. So we have a few weeks to publish this blog post. |
|
The blogpost is now updated (it's publication date is wrong but I assume that's something y'all clean up at the end). |
…, r=lqd Fix platform supports docs tiny typo This was noticed in rust-lang/blog.rust-lang.org#1641 (comment) Thanks :)
Rollup merge of #149154 - apiraino:fix-platform-support-typo, r=lqd Fix platform supports docs tiny typo This was noticed in rust-lang/blog.rust-lang.org#1641 (comment) Thanks :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
At a high level, LGTM
| @@ -0,0 +1,107 @@ | |||
| +++ | |||
| path = "2025/07/01/Updating-musl-1.2.5" | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remark (for when we will be merging this): we'll need to bump this date to a more recent date :D
jieyouxu
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for working on this change and this blog post. Content mostly looks good, just a tone nit for the impacted gamedev project authors
|
|
||
| At this point we expect there will be minimal breakage, and most breakage should be resolved by a `cargo update`. We believe this update shouldn't be held back any longer, as it contains critical fixes for the musl target. | ||
|
|
||
| Manual inspection of some of the affected projects indicates they largely haven't run `cargo update` in 2 years, often because they haven't had any changes in 2 years. Analysis suggests this Rust release will be a devastating blow to the thriving ecosystem of Rust gamedev projects that you started 3 years ago and will definitely get back to this year. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Suggestion: this sentence comes across as a bit snarky to / dismissive of the authors of those gamedev projects. I would maybe just say something more neutral
Analysis of impacted projects suggests this Rust release will affect quite a few gamedev projects that have not run
cargo updatein several years.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Alternative that I think also lightens things a bit:
...because they haven't had any changes in 2 years. (This may a problem for the gamedev project you started three years ago and will definitely get back to this year. When you do, just run
cargo update.)
|
|
||
| Manual inspection of some of the affected projects indicates they largely haven't run `cargo update` in 2 years, often because they haven't had any changes in 2 years. Analysis suggests this Rust release will be a devastating blow to the thriving ecosystem of Rust gamedev projects that you started 3 years ago and will definitely get back to this year. | ||
|
|
||
| Build failures from this change will typically look like "some \`extern\` functions couldn't be found; some native libraries may need to be installed or have their path specified", often specifically for "undefined reference to \`open64'", often while trying to build very old versions of the `getrandom` crate (hence the decimation of abandoned gamedev projects in particular): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Suggestion: ditto above, maybe a slightly more neutral wording
| Build failures from this change will typically look like "some \`extern\` functions couldn't be found; some native libraries may need to be installed or have their path specified", often specifically for "undefined reference to \`open64'", often while trying to build very old versions of the `getrandom` crate (hence the decimation of abandoned gamedev projects in particular): | |
| Build failures from this change will typically look like "some \`extern\` functions couldn't be found; some native libraries may need to be installed or have their path specified", often specifically for "undefined reference to \`open64'", often while trying to build very old versions of the `getrandom` crate (hence the outsized impact on gamedev projects that haven't updated their dependencies in several years in particular): |
Tentative blogpost for:
*-linux-musltargets to musl 1.2.5 compiler-team#887Info about when this will release is of course placeholder, and I'm happy to update the wording or add whatever details are desires.
Rendered