Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

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.

Open
#3,257 0 comments 2 reactions 0 assignees View on GitHub

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

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

need-analysis

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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from kivy/python-for-android

All issues in kivy/python-for-android

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.