-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Use a Docker container instead of Zig for building with old(er) glibc on x64 Linux #19586
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
Use a Docker container instead of Zig for building with old(er) glibc on x64 Linux #19586
Conversation
401559a
to
59cd04f
Compare
59cd04f
to
292ff49
Compare
Does |
It's a just a placeholder image that I use on some other crate to get glibc 2.28. We could use a different image for sure :) |
21d8ca6
to
79338d0
Compare
79338d0
to
bfe01bd
Compare
Great, PGO works (with 15% perf. win), and I checked that at most 2.28 GLIBC symbols are being used (https://github.com/rust-lang/rust-analyzer/actions/runs/14469656707?pr=19586):
I didn't yet enable PGO in this PR, I want to do that separately. r? @lnicola |
We could also try $ podman run --rm -it quay.io/pypa/manylinux_2_34_aarch64
[snip]
WARNING: image platform (linux/arm64) does not match the expected platform (linux/amd64)
[root@fa86d82151b1 /]# And it's Alma 9, not 8 like the x86-64 one. |
This gets us glibc 2.28 without using `cargo zigbuild`, which is not compatible with PGO.
bfe01bd
to
46d282c
Compare
Ok, let's try! |
46d282c
to
4633fbf
Compare
Hmm, looks like with cross-compilation it's not so easy. Let's just do x64 for now then. |
What? |
I think the real error was in the previous step ( |
It's really weird, I get the same error (container is not running) locally even with the x86-64 image:
|
I can run the container locally just fine. I wouldn't worry about it, tbh, the cross-compilation part is clearly what's the issue, and I don't want to deal with that right now, x64 is much more important anyway for the optimization, as it's used by many more people. |
I can run it too, but not like they do on GHA. Anyway, I was just hoping we could drop the Zig stuff at one point. |
Use a Docker container with glibc 2.28 instead of
cargo zigbuild
, because Zig doesn't support PGO.