[Mobile-sig] Yet Python 3 build for Android & possible solution for GUI apps

David Boddie david at boddie.org.uk
Mon Feb 9 12:34:51 CET 2015


On Sun Feb 8 19:44:08 CET 2015, Martin Kolman wrote:

> As we appear to be in the phase of "hunting for working Python 3 
> Android
> build", this is what I have been using:
> 
> https://github.com/thp/python3-android/tree/fixes
> 
> As far as I can tell it works fine once built with the Android NDK for
> armv7 Android, just a few modules are missing
> for some reason: csv, statvfs and sqlite

I just tried this and was slightly surprised to find that it ran through
to completion, producing a binary for ARM. I didn't really like the way
it insists on downloading all the sources it needs, but I understand why
it does this. My experience with this kind of thing is that you can only
provide patches for certain combinations of component versions, so 
making
it configurable is difficult. Well done to Thomas Perl for getting it to
work!

There are three levels of activities going on in the above solution:

  1. Setting up the build environment
  2. Configuring and building Python
  3. Building additional modules for use with Python

The additional modules are either built by the Python build system or
afterwards. The problem of building additional third party modules is
open-ended because it depends on what users want to use Python for.

 From the perspective of fixing Python's build system, the above points
could be addressed like this:

  1. Document how to set up a build environment for each platform and
     refer users to solutions like the python3-android one.
  2. Reduce the number of patches needed for things like python3-android
     because solutions like that would ideally need to do no patching at
     all.
  3. Fix the build system for additional modules that standard Python
     provides. For third party modules, provide documentation that shows
     how to build against a specially built Python interpreter.

Perhaps the extension module building step could be split up from the
core interpreter building step in the standard Python build process.
Would this make sense?

David


More information about the Mobile-sig mailing list