When building python3.14 user should be forced to upgrade to ndk_target_24 and api_target_24 instead of throwing an error that is not understood.
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 45/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- android, python
- Domain
- build-system, mobile
Research direction
Start with Python/remote_debugging.c and reproduce the python3.14 build using ndk_target_23 and api_target_23. Trace where python-for-android handles these target settings; done means the build clearly requires ndk_target_24 and api_target_24 instead of emitting the unexplained pwritev() error.
Written by the indexing model from the issue text.
Description
I got this error while building python3.14
/home/kengo/PycharmProjects/parkkly/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/python3/arm64-v8a__ndk_target_23/python3/Python/remote_debugging.c:48:19: error: call to undeclared function 'pwritev'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
48 | written = pwritev(handle->memfd, local, 1, offset);
| ^
After some research I discovered that:
This means the compiler encountered a call to pwritev() but couldn't find its prototype.
In modern C (C99+), calling undeclared functions is no longer allowed.
And it could be fixed by patching Python/remote_debugging.c to include
#include <sys/uio.h>
Which I think should be a good option to still support lower android versions.
But then again I discovered that:
Android NDK only supports pwritev() from API level 24 (Android 7.0, Nougat) and above.
- Dominant language
- Python
- Stars
- 8.9k
- Forks
- 2k
- Avg merge
- 12h 18m
- Merged PRs (30d)
- 7
Getting set up
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from kivy/python-for-android
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
kivy/python-for-android#3335 · 1 comment · 3 reactions ·
Maintainers usually reply within 1 day
-
Documentation easy
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
kivy/python-for-android#3326 · 1 comment ·
Maintainers usually reply within 1 day
-
Documentation easy Priority: Low
Difficulty 1/5 Under an hour Newbie friendliness 88/100
kivy/python-for-android#3299 ·
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
kivy/python-for-android#3382 ·
Maintainers usually reply within 1 day
-
Difficulty 3/5 1-2 days Newbie friendliness 45/100
kivy/python-for-android#3381 ·
Maintainers usually reply within 1 day
All issues in kivy/python-for-android
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
gradio-app/gradio#13895 ·
Maintainers usually reply within 1 day
-
build-error
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
spack/spack-packages#6713 ·
Maintainers usually reply within 1 day
-
Use issue templates Open
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
ActivityWatch/activitywatch#1464 · 1 reaction ·
Maintainers usually reply within 1 day
-
[Bug]: The ckg tool drops the return type of every decorated Python method in class search results Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
bytedance/trae-agent#483 ·
Maintainers usually reply within 1 day