kivy / kivy/python-for-android

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.

Abierto
#3,257 0 comentarios 2 reacciones 0 asignados Ver en GitHub
need-analysis
Lenguaje dominante
Python
Estrellas
8.9k
Forks
2k
Merge medio
12 h 20 min
PR fusionados (30 d)
9

Descripción

I got this error while building python3.14
```c
/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
```c
#include
```
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.

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Comienza con Python/remote_debugging.c y reproduce la compilación de python3.14 usando ndk_target_23 y api_target_23. Traza dónde gestiona python-for-android estos ajustes de destino; se considera terminado cuando la compilación requiere claramente ndk_target_24 y api_target_24 en lugar de emitir el error inexplicado de pwritev().

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
android, python
Área
build-system, mobile
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
45/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.