GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — gh-145616: Detect Android sysconfig ABI correctly on 32-bit ARM Android on 64-bit ARM kernel by robertkirkman · Pull Request #145617 · python/cpython

Conversation

@robertkirkman

@robertkirkman robertkirkman commented Mar 7, 2026 •
edited by mhsmith
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Contributor
  • 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.
  • Fixes pip install does not work in Python 3.13 on 32-bit ARM Android running on 64-bit ARM kernel #145616

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

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

python-cla-bot Bot commented Mar 7, 2026 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown

All commit authors signed the Contributor License Agreement.

CLA signed

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@bedevere-app

bedevere-app Bot commented Mar 7, 2026

Copy link
Copy Markdown

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.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@bedevere-app bedevere-app Bot added the awaiting review label Mar 7, 2026
@bedevere-app bedevere-app Bot mentioned this pull request Mar 7, 2026
pip install does not work in Python 3.13 on 32-bit ARM Android running on 64-bit ARM kernel #145616
Closed
@encukou
encukou requested a review from mhsmith March 9, 2026 13:27
@mhsmith

mhsmith commented Mar 13, 2026

Copy link
Copy Markdown
Member

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

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@robertkirkman

robertkirkman commented Mar 15, 2026

Copy link
Copy Markdown
Contributor Author

I have provided additional follow-up information here

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@mhsmith mhsmith added needs backport to 3.13 only security fixes needs backport to 3.14 bugs and security fixes labels Mar 23, 2026
mhsmith
mhsmith reviewed Mar 23, 2026
View reviewed changes

@mhsmith mhsmith left a comment

Copy link
Copy Markdown
Member

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, this looks fine, but please also update the corresponding code in test_get_platform in test_sysconfig.py.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
robertkirkman and others added 2 commits March 23, 2026 19:52
@robertkirkman
pythongh-145616: Detect Android sysconfig ABI correctly on 32-bit ARM…
799fb36
… 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
@blurb-it @robertkirkman
📜🤖 Added by blurb_it.
b01cf02
@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

robertkirkman commented Mar 24, 2026

Copy link
Copy Markdown
Contributor Author

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

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@robertkirkman

robertkirkman commented Mar 24, 2026 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Contributor Author

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.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

mhsmith
mhsmith approved these changes Mar 24, 2026
View reviewed changes

@mhsmith mhsmith left a comment

Copy link
Copy Markdown
Member

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.

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

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

robertkirkman reacted with thumbs up emoji
All reactions
  • 👍 1 reaction
@bedevere-app bedevere-app Bot added awaiting core review and removed awaiting review labels Mar 24, 2026
@encukou
Merge branch 'main' into sysconfig-32-bit-arm-android-64-bit-arm-kernel
d249d25
@encukou
encukou merged commit 3a2b81e into python:main Mar 26, 2026
48 checks passed

Uh oh!

There was an error while loading. Please reload this page.

@bedevere-app bedevere-app Bot removed the awaiting core review label Mar 26, 2026
@miss-islington-app

miss-islington-app Bot commented Mar 26, 2026

Copy link
Copy Markdown

Thanks @robertkirkman for the PR, and @encukou for merging it 🌮🎉.. I'm working now to backport this PR to: 3.13, 3.14.
🐍🍒⛏🤖

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Mar 26, 2026
@robertkirkman @miss-islington
pythongh-145616: Detect Android sysconfig ABI correctly on 32-bit ARM…
5966592
… Android on 64-bit ARM kernel (pythonGH-145617)

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.
(cherry picked from commit 3a2b81e)

Co-authored-by: Robert Kirkman <[email protected]>
@miss-islington-app

miss-islington-app Bot commented Mar 26, 2026

Copy link
Copy Markdown

Sorry, @robertkirkman and @encukou, I could not cleanly backport this to 3.13 due to a conflict.
Please backport using cherry_picker on command line.

cherry_picker 3a2b81e919103c0be3bc60a47aaa74d34fea6e9e 3.13
All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@miss-islington-app miss-islington-app Bot assigned encukou Mar 26, 2026
@bedevere-app

bedevere-app Bot commented Mar 26, 2026

Copy link
Copy Markdown

GH-146464 is a backport of this pull request to the 3.14 branch.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@bedevere-app bedevere-app Bot removed the needs backport to 3.14 bugs and security fixes label Mar 26, 2026
vstinner pushed a commit that referenced this pull request Mar 27, 2026
@miss-islington @robertkirkman
[3.14] gh-145616: Detect Android sysconfig ABI correctly on 32-bit AR…
70affe0
…M Android on 64-bit ARM kernel (GH-145617) (#146464)

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

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.
(cherry picked from commit 3a2b81e)

Co-authored-by: Robert Kirkman <[email protected]>
mhsmith pushed a commit to mhsmith/cpython that referenced this pull request Mar 28, 2026
@robertkirkman @mhsmith
[3.13] pythongh-145616: Detect Android sysconfig ABI correctly on 32-…
5f3d1af
…bit ARM Android on 64-bit ARM kernel (pythonGH-145617)

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.
(cherry picked from commit 3a2b81e)

Co-authored-by: Robert Kirkman <[email protected]>
@bedevere-app

bedevere-app Bot commented Mar 28, 2026

Copy link
Copy Markdown

GH-146539 is a backport of this pull request to the 3.13 branch.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@bedevere-app bedevere-app Bot removed the needs backport to 3.13 only security fixes label Mar 28, 2026
vstinner pushed a commit that referenced this pull request Mar 28, 2026
@mhsmith @robertkirkman
[3.13] gh-145616: Detect Android sysconfig ABI correctly on 32-bit AR…
793812b
…M Android on 64-bit ARM kernel (GH-145617) (#146539)

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.
(cherry picked from commit 3a2b81e)

Co-authored-by: Robert Kirkman <[email protected]>
@mhsmith mhsmith mentioned this pull request Apr 4, 2026
gh-146541: Allow building the Android testbed for 32-bit targets #146542
Merged
@pablogsal pablogsal mentioned this pull request Apr 4, 2026
gh-130273: Fix traceback color output with unicode characters #142529
Merged
@fornwall fornwall mentioned this pull request Apr 9, 2026
bump(main/python): 3.13.13 termux/termux-packages#29267
Merged
clin1234 pushed a commit to clin1234/cpython that referenced this pull request Apr 16, 2026
@robertkirkman @clin1234
pythongh-145616: Detect Android sysconfig ABI correctly on 32-bit ARM…
ecf3624
… Android on 64-bit ARM kernel (pythonGH-145617)

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.
ljfp pushed a commit to ljfp/cpython that referenced this pull request Apr 25, 2026
@robertkirkman @ljfp
pythongh-145616: Detect Android sysconfig ABI correctly on 32-bit ARM…
6432ad1
… Android on 64-bit ARM kernel (pythonGH-145617)

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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@mhsmith mhsmith mhsmith approved these changes
@FFY00 FFY00 Awaiting requested review from FFY00 FFY00 is a code owner

Uh oh!

There was an error while loading. Please reload this page.

Assignees

@encukou encukou

Labels

None yet

Projects

None yet

Milestone

No milestone

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

Uh oh!

There was an error while loading. Please reload this page.

3 participants

@robertkirkman @mhsmith @encukou
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.