Skip to content

Python 3.14 Android build failures: _remote_debugging_module and SDL2 bootstrap (pyconfig.h missing) #3274

@davidguigui29

Description

@davidguigui29

When building a Python 3.14 project for Android using Buildozer and python-for-android(develop), two separate compilation failures occur:

  1. _remote_debugging_module fails
    The module fails to compile because search_linux_map_for_section is undeclared:

    /Modules/_remote_debugging_module.c:31: error: call to undeclared function 'search_linux_map_for_section'
    /Modules/_remote_debugging_module.c:814: error: call to undeclared function 'search_linux_map_for_section'
    

    This prevents the Python core from building properly for Android.

  2. SDL2 bootstrap fails (pyconfig.h not found)
    After _remote_debugging_module compilation fails, attempting to build (buildozer -v --stacktrace --scan android debug deploy run) results in:

    In file included from start.c:3:
    Python.h:14:10: fatal error: 'pyconfig.h' file not found
       14 | #include "pyconfig.h"
          |          ^~~~~~~~~~~~
    

    This appears to be caused by the SDL2 bootstrap not locating Python 3.14 headers correctly.

Steps to reproduce:

  1. Create a Buildozer project with Python 3.14 requirement.
  2. Run:
buildozer android debug
  1. Observe compilation errors for _remote_debugging_module and start.c.

Environment:

  • OS: Linux
  • Buildozer version: latest (from pip)
  • python-for-android: latest (from GitHub)
  • Python version: 3.14
  • NDK: r29
  • SDK: Android API 36
  • Target architectures: arm64-v8a, armeabi-v7a

Additional context:

  • No modifications or patches were applied to Python, Buildozer, or the bootstrap.
  • Both issues seem to stem from incomplete support for Python 3.14 in SDL2 bootstrap and _remote_debugging_module.

Request:

  • Guidance or updates to python-for-android and SDL2 bootstrap to support Python 3.14 on Android.
  • Fix or workaround for _remote_debugging_module compilation errors.
  • Ensure SDL2 bootstrap can locate Python headers like pyconfig.h for Python 3.14 builds.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions