maturin icon indicating copy to clipboard operation
maturin copied to clipboard

Unexpected PyPy wheel for Linux aarch ABI3 build

Open linhr opened this issue 2 months ago • 1 comments

I'm using Maturin to release ABI3 wheels. Here is the corresponding GitHub Actions workflow file:

https://github.com/lakehq/sail/blob/611daf6b92433eaedb428ab4cbf2679241bacaf0/.github/workflows/release.yml#L186

Previously (v1.9.6), for the aarch64 target on Linux, a single wheel tagged cp38-abi3-manylinux_2_24_aarch64 was generated.

This week, using the latest version (v1.10.1), besides the expected wheel, another wheel tagged pp39-pypy39_pp73-manylinux_2_24_aarch64 was generated.

In my setup, the Linux aarch64 build runs inside containers on x86_64 hosts.

Here is a comparison of the published wheel list:

Is this something that could be fixed?

(I skimmed through the changelog and this change seems most relevant to me: https://github.com/PyO3/maturin/pull/2829. But I don't have a clear story of what's going on here.)

linhr avatar Nov 13 '25 12:11 linhr

Seems related to #2829.

messense avatar Nov 13 '25 12:11 messense

Is this something that can be fixed, or is there any workaround for this?

(cc @freakboy3742 who might have more context for #2829)

linhr avatar Dec 22 '25 08:12 linhr

I'm currently on leave, so I can't do a deep dive right now. However, the motivation for the change was that if you have an interpreter that can be asked for platform details, that interpreter should be used, rather than a "faked" interpreter.

It sounds like the case being reported is a cross-platform build, so it should be falling back to the original logic. I'm not sure if thats because of a fault in the logic in the patch from #2829, or because there's something unusual about the cross-platform+pypy case.

I'll be back in my office in early January, but I don't have any experience with cross-platform manylinux builds, so I don't know what I'll be able to add there.

freakboy3742 avatar Dec 22 '25 09:12 freakboy3742

Thanks for the quick response!

Yeah this seems a cross-platform build (inside container). (I'm using Maturin in GitHub Actions. I'd imagine if we pull the Docker images used by the action, we could see the installed interpreters and the issue can hopefully be reproduced.)

linhr avatar Dec 23 '25 01:12 linhr