Skip to content

gh-145616: Detect Android sysconfig ABI correctly on 32-bit ARM Android on 64-bit ARM kernel#145617

Open
robertkirkman wants to merge 3 commits intopython:mainfrom
robertkirkman:sysconfig-32-bit-arm-android-64-bit-arm-kernel
Open

gh-145616: Detect Android sysconfig ABI correctly on 32-bit ARM Android on 64-bit ARM kernel#145617
robertkirkman wants to merge 3 commits intopython:mainfrom
robertkirkman:sysconfig-32-bit-arm-android-64-bit-arm-kernel

Conversation

@robertkirkman
Copy link

@robertkirkman robertkirkman commented Mar 7, 2026

  • When Python is running on 32-bit ARM Android on a 64-bit ARM kernel, os.uname().machine is armv8l. Such devices run the same userspace code as armv7l devices, so apply the same armeabi_v7a Android ABI to them, which works.

@robertkirkman robertkirkman requested a review from FFY00 as a code owner March 7, 2026 02:37
@python-cla-bot
Copy link

python-cla-bot bot commented Mar 7, 2026

All commit authors signed the Contributor License Agreement.

CLA signed

@bedevere-app
Copy link

bedevere-app bot commented Mar 7, 2026

Most changes to Python require a NEWS entry. Add one using the blurb_it web app or the blurb command-line tool.

If this change has little impact on Python users, wait for a maintainer to apply the skip news label instead.

@mhsmith
Copy link
Member

mhsmith commented Mar 13, 2026

Thanks, I'll look at this in the next few days.

@robertkirkman
Copy link
Author

I have provided additional follow-up information here

@mhsmith mhsmith added needs backport to 3.13 bugs and security fixes needs backport to 3.14 bugs and security fixes labels Mar 23, 2026
Copy link
Member

@mhsmith mhsmith left a comment

Choose a reason for hiding this comment

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

Thanks, this looks fine, but please also update the corresponding code in test_get_platform in test_sysconfig.py.

robertkirkman and others added 2 commits March 23, 2026 19:52
… Android on 64-bit ARM kernel

- When Python is running on 32-bit ARM Android on a 64-bit ARM kernel, `os.uname().machine` is `armv8l`. Such devices run the same userspace code as `armv7l` devices, so apply the same `armeabi_v7a` Android ABI to them, which works.

- Issue: python#145616
@robertkirkman robertkirkman force-pushed the sysconfig-32-bit-arm-android-64-bit-arm-kernel branch from eb69366 to b01cf02 Compare March 24, 2026 00:52
@robertkirkman
Copy link
Author

Thank you for pointing that out, I didn't notice that code previously. I hope I've updated it correctly now.

@robertkirkman
Copy link
Author

robertkirkman commented Mar 24, 2026

Also, pardon me for asking, but when you put the "needs backport to 3.13" and "needs backport to 3.14" labels on this, does that mean that I should open follow-up PRs afterward targeting those branches of Python, or will you do that?
I targeted the development branch which is, I suppose, Python 3.15. I'm aware that this patch would need slight editing to apply to Python 3.13 and that it would work when applied there, but I can do that if necessary.

Copy link
Member

@mhsmith mhsmith left a comment

Choose a reason for hiding this comment

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

No need, it will be done automatically by a bot when this PR is merged, which I hope @encukou can do now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

pip install does not work in Python 3.13 on 32-bit ARM Android running on 64-bit ARM kernel

3 participants