Repository: kivy/python-for-android

Issue:
Building python2 for armeabi fails due to unknown option "-single_module" (OS X)
This is not related to #622. I hotfixed this issue by setting:

``` python
self.storage_dir = '/tmp/python-for-android'
```

```
ben$ p4a apk --requirements=kivy,hostpython2 --package=org.test.test--name="test" --version=0.1 --bootstrap=sdl2 --android_api 19
[INFO]:    This python-for-android revamp is an experimental alpha release!
[INFO]:    It should work (mostly), but you may experience missing features or bugs.
[INFO]:    Will compile for the following archs: armeabi
[INFO]:    Found possible SDK dirs in buildozer dir: android-sdk-20
[INFO]:    Will attempt to use SDK at /Users/ben/.buildozer/android/platform/android-sdk-20
[WARNING]: This SDK lookup is intended for debug only, if you use python-for-android much you should probably maintain your own SDK download.
[INFO]:    Getting Android API version from user argument
[INFO]:    Available Android APIs are (19)
[INFO]:    Requested API target 19 is available, continuing.
[INFO]:    Found possible NDK dirs in buildozer dir: android-ndk-r9c, android-ndk-r9c-darwin-x86_64.tar.bz2
[INFO]:    Will attempt to use NDK at /Users/ben/.buildozer/android/platform/android-ndk-r9c
[WARNING]: This NDK lookup is intended for debug only, if you use python-for-android much you should probably maintain your own NDK download.
[INFO]:    Got NDK version from $ANDROIDNDKVER
[INFO]:    Got Android NDK version from the NDK dir: it is r9c
[INFO]:    Using Google NDK r9c
[INFO]:    Found virtualenv at /usr/local/bin/virtualenv-2.7
[INFO]:    ccache is missing, the build will not be optimized in the future.
[INFO]:    Found the following toolchain versions: ['4.6', '4.8', 'clang3.3']
[INFO]:    Picking the latest gcc toolchain, here 4.8
[WARNING]: Missing executable: libtoolize is not installed
[INFO]:    No existing dists meet the given requirements!
[INFO]:    No dist exists that meets your requirements, so one will be built.
[INFO]:    Bootstrap requires recipes ['sdl2', ('python2', 'python3crystax')]
[INFO]:    Loaded recipe sdl2 (depends on [('python2', 'python3crystax'), 'sdl2_image', 'sdl2_mixer', 'sdl2_ttf'], conflicts ['sdl', 'pygame', 'pygame_bootstrap_components'])
[INFO]:    Loaded recipe hostpython2 (depends on [], conflicts ['hostpython3'])
[INFO]:    Loaded recipe kivy (depends on ['pyjnius', ('sdl2', 'pygame'), ('python2', 'python3crystax')])
[INFO]:    Loaded recipe sdl2_image (depends on [])
[INFO]:    Loaded recipe sdl2_mixer (depends on [])
[INFO]:    Loaded recipe sdl2_ttf (depends on [])
[INFO]:    Loaded recipe pyjnius (depends on ['six', ('sdl2', 'sdl'), ('python2', 'python3crystax')])
[INFO]:    Loaded recipe six (depends on [('python2', 'python3crystax')])
[INFO]:    Found multiple valid recipe sets:
[INFO]:        ['six', 'sdl2', u'kivy', 'sdl2_ttf', u'hostpython2', 'sdl2_mixer', 'sdl2_image', 'pyjnius', 'python2']
[INFO]:        ['sdl2', 'six', 'sdl2_ttf', u'hostpython2', 'python3crystax', 'sdl2_mixer', 'sdl2_image', 'pyjnius', u'kivy']
[INFO]:    Using the first of these: ['six', 'sdl2', u'kivy', 'sdl2_ttf', u'hostpython2', 'sdl2_mixer', 'sdl2_image', 'pyjnius', 'python2']
[INFO]:    The selected bootstrap is sdl2
[INFO]:    # Creating dist with sdl2 bootstrap
[INFO]:    Dist will have name unnamed_dist_5 and recipes (kivy, hostpython2)
[INFO]:    -> running cp -r /usr/local/lib/python2.7/site-packages/pythonforandroid/bootstraps/sdl2/build /tmp/python-for-android/build/bootstrap_builds/sdl2-python2
[INFO]:    -> directory context /tmp/python-for-android/build/bootstrap_builds/sdl2-python2
[INFO]:    <- directory context /private/tmp/test
[INFO]:    Recipe build order is [u'hostpython2', 'python2', 'sdl2_image', 'sdl2_mixer', 'sdl2_ttf', 'sdl2', 'six', 'pyjnius', u'kivy']
[INFO]:    # Downloading recipes
[INFO]:    Downloading hostpython2
[INFO]:    -> running mkdir -p /tmp/python-for-android/packages/hostpython2
[INFO]:    -> directory context /tmp/python-for-android/packages/hostpython2
[INFO]:    -> running basename http://python.org/ftp/python/2.7.2/Python-2.7.2.tar.bz2
[INFO]:    hostpython2 download already cached, skipping
[WARNING]: Should check headers here! Skipping for now.
[INFO]:    <- directory context /private/tmp/test
[INFO]:    Downloading python2
[INFO]:    -> running mkdir -p /tmp/python-for-android/packages/python2
[INFO]:    -> directory context /tmp/python-for-android/packages/python2
[INFO]:    -> running basename http://python.org/ftp/python/2.7.2/Python-2.7.2.tar.bz2
[INFO]:    python2 download already cached, skipping
[WARNING]: Should check headers here! Skipping for now.
[INFO]:    <- directory context /private/tmp/test
[INFO]:    Downloading sdl2_image
[INFO]:    -> running mkdir -p /tmp/python-for-android/packages/sdl2_image
[INFO]:    -> directory context /tmp/python-for-android/packages/sdl2_image
[INFO]:    -> running basename https://www.libsdl.org/projects/SDL_image/release/SDL2_image-2.0.0.tar.gz
[INFO]:    sdl2_image download already cached, skipping
[WARNING]: Should check headers here! Skipping for now.
[INFO]:    <- directory context /private/tmp/test
[INFO]:    Downloading sdl2_mixer
[INFO]:    -> running mkdir -p /tmp/python-for-android/packages/sdl2_mixer
[INFO]:    -> directory context /tmp/python-for-android/packages/sdl2_mixer
[INFO]:    -> running basename https://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-2.0.0.tar.gz
[INFO]:    sdl2_mixer download already cached, skipping
[WARNING]: Should check headers here! Skipping for now.
[INFO]:    <- directory context /private/tmp/test
[INFO]:    Downloading sdl2_ttf
[INFO]:    -> running mkdir -p /tmp/python-for-android/packages/sdl2_ttf
[INFO]:    -> directory context /tmp/python-for-android/packages/sdl2_ttf
[INFO]:    -> running basename https://www.libsdl.org/projects/SDL_ttf/release/SDL2_ttf-2.0.12.tar.gz
[INFO]:    sdl2_ttf download already cached, skipping
[WARNING]: Should check headers here! Skipping for now.
[INFO]:    <- directory context /private/tmp/test
[INFO]:    Downloading sdl2
[INFO]:    -> running mkdir -p /tmp/python-for-android/packages/sdl2
[INFO]:    -> directory context /tmp/python-for-android/packages/sdl2
[INFO]:    -> running basename https://www.libsdl.org/release/SDL2-2.0.3.tar.gz
[INFO]:    sdl2 download already cached, skipping
[WARNING]: Should check headers here! Skipping for now.
[INFO]:    <- directory context /private/tmp/test
[INFO]:    Downloading six
[INFO]:    -> running mkdir -p /tmp/python-for-android/packages/six
[INFO]:    -> directory context /tmp/python-for-android/packages/six
[INFO]:    -> running basename https://pypi.python.org/packages/source/s/six/six-1.9.0.tar.gz
[INFO]:    six download already cached, skipping
[WARNING]: Should check headers here! Skipping for now.
[INFO]:    <- directory context /private/tmp/test
[INFO]:    Downloading pyjnius
[INFO]:    -> running mkdir -p /tmp/python-for-android/packages/pyjnius
[INFO]:    -> directory context /tmp/python-for-android/packages/pyjnius
[INFO]:    -> running basename https://github.com/kivy/pyjnius/archive/master.zip
[INFO]:    pyjnius download already cached, skipping
[WARNING]: Should check headers here! Skipping for now.
[INFO]:    <- directory context /private/tmp/test
[INFO]:    Downloading kivy
[INFO]:    -> running mkdir -p /tmp/python-for-android/packages/kivy
[INFO]:    -> directory context /tmp/python-for-android/packages/kivy
[INFO]:    -> running basename https://github.com/kivy/kivy/archive/master.zip
[INFO]:    kivy download already cached, skipping
[WARNING]: Should check headers here! Skipping for now.
[INFO]:    <- directory context /private/tmp/test
[INFO]:    # Building all recipes for arch armeabi
[INFO]:    # Unpacking recipes
[INFO]:    Unpacking hostpython2 for armeabi
[INFO]:    -> running basename http://python.org/ftp/python/2.7.2/Python-2.7.2.tar.bz2
[INFO]:    -> directory context /tmp/python-for-android/build/other_builds/hostpython2/desktop
[INFO]:    hostpython2 is already unpacked, skipping
[INFO]:    <- directory context /private/tmp/test
[INFO]:    Unpacking python2 for armeabi
[INFO]:    -> running basename http://python.org/ftp/python/2.7.2/Python-2.7.2.tar.bz2
[INFO]:    -> directory context /tmp/python-for-android/build/other_builds/python2/armeabi
[INFO]:    python2 is already unpacked, skipping
[INFO]:    <- directory context /private/tmp/test
[INFO]:    Unpacking sdl2_image for armeabi
[INFO]:    -> running basename https://www.libsdl.org/projects/SDL_image/release/SDL2_image-2.0.0.tar.gz
[INFO]:    -> directory context /tmp/python-for-android/build/bootstrap_builds/sdl2-python2/jni
[INFO]:    sdl2_image is already unpacked, skipping
[INFO]:    <- directory context /private/tmp/test
[INFO]:    Unpacking sdl2_mixer for armeabi
[INFO]:    -> running basename https://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-2.0.0.tar.gz
[INFO]:    -> directory context /tmp/python-for-android/build/bootstrap_builds/sdl2-python2/jni
[INFO]:    sdl2_mixer is already unpacked, skipping
[INFO]:    <- directory context /private/tmp/test
[INFO]:    Unpacking sdl2_ttf for armeabi
[INFO]:    -> running basename https://www.libsdl.org/projects/SDL_ttf/release/SDL2_ttf-2.0.12.tar.gz
[INFO]:    -> directory context /tmp/python-for-android/build/bootstrap_builds/sdl2-python2/jni
[INFO]:    sdl2_ttf is already unpacked, skipping
[INFO]:    <- directory context /private/tmp/test
[INFO]:    Unpacking sdl2 for armeabi
[INFO]:    -> running basename https://www.libsdl.org/release/SDL2-2.0.3.tar.gz
[INFO]:    -> directory context /tmp/python-for-android/build/bootstrap_builds/sdl2-python2/jni
[INFO]:    sdl2 is already unpacked, skipping
[INFO]:    <- directory context /private/tmp/test
[INFO]:    Unpacking six for armeabi
[INFO]:    -> running basename https://pypi.python.org/packages/source/s/six/six-1.9.0.tar.gz
[INFO]:    -> directory context /tmp/python-for-android/build/other_builds/six-python2/armeabi
[INFO]:    six is already unpacked, skipping
[INFO]:    <- directory context /private/tmp/test
[INFO]:    Unpacking pyjnius for armeabi
[INFO]:    -> running basename https://github.com/kivy/pyjnius/archive/master.zip
[INFO]:    -> directory context /tmp/python-for-android/build/other_builds/pyjnius-python2-sdl2/armeabi
[INFO]:    pyjnius is already unpacked, skipping
[INFO]:    <- directory context /private/tmp/test
[INFO]:    Unpacking kivy for armeabi
[INFO]:    -> running basename https://github.com/kivy/kivy/archive/master.zip
[INFO]:    -> directory context /tmp/python-for-android/build/other_builds/kivy-python2-sdl2/armeabi
[INFO]:    kivy is already unpacked, skipping
[INFO]:    <- directory context /private/tmp/test
[INFO]:    # Prebuilding recipes
[INFO]:    Prebuilding hostpython2 for armeabi
[INFO]:    -> running cp /usr/local/lib/python2.7/site-packages/pythonforandroid/recipes/hostpython2/Setup /tmp/python-for-android/build/other_builds/hostpython2/desktop/hostpython2/Modules/Setup
[INFO]:    Prebuilding python2 for armeabi
[INFO]:    python2 has no prebuild_armeabi, skipping
[INFO]:    Applying patches for python2[armeabi]
[INFO]:    python2 already patched, skipping
[INFO]:    Prebuilding sdl2_image for armeabi
[INFO]:    sdl2_image has no prebuild_armeabi, skipping
[INFO]:    Applying patches for sdl2_image[armeabi]
[INFO]:    sdl2_image already patched, skipping
[INFO]:    Prebuilding sdl2_mixer for armeabi
[INFO]:    sdl2_mixer has no prebuild_armeabi, skipping
[INFO]:    Applying patches for sdl2_mixer[armeabi]
[INFO]:    sdl2_mixer already patched, skipping
[INFO]:    Prebuilding sdl2_ttf for armeabi
[INFO]:    sdl2_ttf has no prebuild_armeabi, skipping
[INFO]:    Prebuilding sdl2 for armeabi
[INFO]:    sdl2 has no prebuild_armeabi, skipping
[INFO]:    Applying patches for sdl2[armeabi]
[INFO]:    sdl2 already patched, skipping
[INFO]:    Prebuilding six for armeabi
[INFO]:    six has no prebuild_armeabi, skipping
[INFO]:    Prebuilding pyjnius for armeabi
[INFO]:    pyjnius has no prebuild_armeabi, skipping
[INFO]:    Applying patches for pyjnius[armeabi]
[INFO]:    pyjnius already patched, skipping
[INFO]:    Prebuilding kivy for armeabi
[INFO]:    kivy has no prebuild_armeabi, skipping
[INFO]:    # Building recipes
[INFO]:    Building hostpython2 for armeabi
[INFO]:    -> directory context /tmp/python-for-android/build/other_builds/hostpython2/desktop/hostpython2
[INFO]:    hostpython already exists, skipping build
[INFO]:    <- directory context /private/tmp/test
[INFO]:    Building python2 for armeabi
[INFO]:    -> running cp /tmp/python-for-android/build/other_builds/hostpython2/desktop/hostpython2/hostpython /tmp/python-for-android/build/other_builds/python2/armeabi/python2
[INFO]:    -> running cp /tmp/python-for-android/build/other_builds/hostpython2/desktop/hostpython2/hostpgen /tmp/python-for-android/build/other_builds/python2/armeabi/python2
[INFO]:    -> directory context /tmp/python-for-android/build/other_builds/python2/armeabi/python2
[INFO]:    -> running cp /usr/local/lib/python2.7/site-packages/pythonforandroid/recipes/hostpython2/Setup Modules
('path is', '/Users/ben/.buildozer/android/platform/android-ndk-r9c/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x86/bin/:/Users/ben/.buildozer/android/platform/android-ndk-r9c/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x86_64/bin/:/Users/ben/.buildozer/android/platform/android-ndk-r9c:/Users/ben/.buildozer/android/platform/android-sdk-20/tools:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin')
[INFO]:    -> running gcc -dumpmachine
[INFO]:    -> running configure --host=arm-eabi --build=x86_64-apple-darwin15.3.0 --prefix=/private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install --enable-shared --disable-too...(and 29 more)
First install (expected to fail...
[INFO]:    -> running make -j5 install HOSTPYTHON=/tmp/python-for-android/build/other_builds/python2/armeabi/python2/hostpython HOSTPGEN=/tmp/python-for-android/build/other_builds/python2/armeabi/python2/hostpy...(and 56 more)
First python2 make failed. This is expected, trying again.
Second install (expected to work)
[INFO]:    -> running touch python.exe python
[INFO]:    -> running make -j5 install HOSTPYTHON=/tmp/python-for-android/build/other_builds/python2/armeabi/python2/hostpython HOSTPGEN=/tmp/python-for-android/build/other_builds/python2/armeabi/python2/hostpy...(and 56 more)
Traceback (most recent call last):
  File "/usr/local/bin/p4a", line 9, in <module>
    load_entry_point('python-for-android==0.3', 'console_scripts', 'p4a')()
  File "/usr/local/lib/python2.7/site-packages/pythonforandroid/toolchain.py", line 708, in main
    ToolchainCL()
  File "/usr/local/lib/python2.7/site-packages/pythonforandroid/toolchain.py", line 323, in __init__
    getattr(self, args.command)(unknown)
  File "/usr/local/lib/python2.7/site-packages/pythonforandroid/toolchain.py", line 105, in wrapper_func
    build_dist_from_args(ctx, dist, dist_args)
  File "/usr/local/lib/python2.7/site-packages/pythonforandroid/toolchain.py", line 142, in build_dist_from_args
    build_recipes(build_order, python_modules, ctx)
  File "/usr/local/lib/python2.7/site-packages/pythonforandroid/build.py", line 552, in build_recipes
    recipe.build_arch(arch)
  File "/usr/local/lib/python2.7/site-packages/pythonforandroid/recipes/python2/__init__.py", line 44, in build_arch
    self.do_python_build(arch)
  File "/usr/local/lib/python2.7/site-packages/pythonforandroid/recipes/python2/__init__.py", line 141, in do_python_build
    _env=env)
  File "/usr/local/lib/python2.7/site-packages/pythonforandroid/logger.py", line 160, in shprint
    for line in output:
  File "/usr/local/lib/python2.7/site-packages/sh.py", line 565, in next
    self.wait()
  File "/usr/local/lib/python2.7/site-packages/sh.py", line 500, in wait
    self.handle_command_exit_code(exit_code)
  File "/usr/local/lib/python2.7/site-packages/sh.py", line 516, in handle_command_exit_code
    raise exc(self.ran, self.process.stdout, self.process.stderr)
sh.ErrorReturnCode_2:

  RAN: '/usr/bin/make -j5 install HOSTPYTHON=/tmp/python-for-android/build/other_builds/python2/armeabi/python2/hostpython HOSTPGEN=/tmp/python-for-android/build/other_builds/python2/armeabi/python2/hostpython CROSS_COMPILE_TARGET=yes INSTSONAME=libpython2.7.so'

  STDOUT:
arm-linux-androideabi-gcc -DANDROID -mandroid -fomit-frame-pointer --sysroot /Users/ben/.buildozer/android/platform/android-ndk-r9c/platforms/android-19/arch-arm -dynamiclib -Wl,-single_module -lm -L/tmp/python-for-android/build/libs_collections/unnamed_dist_5/armeabi -Wl,-install_name,/private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/lib/libpython2.7.dylib -Wl,-compatibility_version,2.7 -Wl,-current_version,2.7 -o libpython2.7.dylib Modules/getbuildinfo.o Parser/acceler.o Parser/grammar1.o Parser/listnode.o Parser/node.o Parser/parser.o Parser/parsetok.o Parser/bitset.o Parser/metagrammar.o Parser/firstsets.o Parser/grammar.o Parser/pgen.o Parser/myreadline.o Parser/tokenizer.o Objects/abstract.o Objects/boolobject.o Objects/bufferobject.o Objects/bytes_methods.o Objects/bytearrayobject.o Objects/capsule.o Objects/cellobject.o Objects/classobject.o Objects/cobject.o Objects/codeobject.o Objects/complexobject.o Objects/descrobject.o Objects/enumobject.o Objects/exceptions.o Objects/genobject.o Objects/fileobject.o Objects/floatobject.o Objects/frameobject.o Objects/funcobject.o Objects/intobject.o Objects/iterobject.o Objects/listobject.o Objects/longobject.o Objects/dictobject.o Objects/memoryobject.o Objects/methodobject.o Objects/moduleobject.o Objects/object.o Objects/obmalloc.o Objects/rangeobject.o Objects/setobject.o Objects/sliceobject.o Objects/stringobject.o Objects/structseq.o Objects/tupleobject.o Objects/typeobject.o Objects/weakrefobject.o Objects/unicodeobject.o Objects/unicodectype.o Python/_warnings.o Python/Python-ast.o Python/asdl.o Python/ast.o Python/bltinmodule.o Python/ceval.o Python/compile.o Python/codecs.o Python/errors.o Python/frozen.o Python/frozenmain.o Python/future.o Python/getargs.o Python/getcompiler.o Python/getcopyright.o Python/getplatform.o Python/getversion.o Python/graminit.o Python/import.o Python/importdl.o Python/marshal.o Python/modsupport.o Python/mystrtoul.o Python/mysnprintf.o Python/peephole.o Python/pyarena.o Python/pyctype.o Python/pyfpe.o Python/pymath.o Python/pystate.o Python/pythonrun.o Python/structmember.o Python/symtable.o Python/sysmodule.o Python/traceback.o Python/getopt.o Python/pystrcmp.o Python/pystrtod.o Python/dtoa.o Python/formatter_unicode.o Python/formatter_string.o Python/dynload_shlib.o   Python/thread.o Modules/config.o Modules/getpath.o Modules/main.o Modules/gcmodule.o  Modules/threadmodule.o  Modules/signalmodule.o  Modules/posixmodule.o  Modules/errnomodule.o  Modules/pwdmodule.o  Modules/_sre.o  Modules/_codecsmodule.o  Modules/zipimport.o  Modules/symtablemodule.o  Modules/arraymodule.o  Modules/cmathmodule.o  Modules/mathmodule.o  Modules/_struct.o  Modules/timemodule.o  Modules/operator.o  Modules/_weakref.o  Modules/_randommodule.o  Modules/_collectionsmodule.o  Modules/itertoolsmodule.o  Modules/stropmodule.o  Modules/_functoolsmodule.o  Modules/_elementtree.o  Modules/datetimemodule.o  Modules/_bisectmodule.o  Modules/fcntlmodule.o  Modules/selectmodule.o  Modules/socketmodule.o  Modules/md5module.o Modules/md5.o  Modules/shamodule.o  Modules/sha256module.o  Modules/sha512module.o  Modules/binascii.o  Modules/parsermodule.o  Modules/cStringIO.o  Modules/cPickle.o  Modules/zlibmodule.o  Modules/xmlparse.o Modules/xmlrole.o Modules/xmltok.o Modules/pyexpat.o  Modules/xxsubtype.o -ldl    ; \

/usr/local/bin/ginstall -c -m 644 ./Misc/python.man \
                /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/share/man/man1/python2.7.1
/usr/local/bin/ginstall -c -m 644 ./Include/Python-ast.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/Python.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/abstract.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/Users/ben/.buildozer/android/platform/android-ndk-r9c/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: -single_module: unknown option
/Users/ben/.buildozer/android/platform/android-ndk-r9c/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: use the --help option for usage information
collect2: error: ld returned 1 exit status
make: *** [libpython2.7.dylib] Error 1
make: *** Waiting for unfinished jobs....
/usr/local/bin/ginstall -c -m 644 ./Include/asdl.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/ast.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/bitset.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/boolobject.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/bufferobject.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/bytearrayobject.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/bytes_methods.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/bytesobject.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/cStringIO.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/cellobject.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/ceval.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/classobject.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/cobject.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/code.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/codecs.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/compile.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/complexobject.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/datetime.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/descrobject.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/dictobject.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/dtoa.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/enumobject.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/errcode.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/eval.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/fileobject.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/floatobject.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/frameobject.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/funcobject.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/genobject.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/graminit.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/grammar.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/import.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/intobject.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/intrcheck.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/iterobject.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/listobject.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/longintrepr.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/longobject.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/marshal.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/memoryobject.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/metagrammar.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/methodobject.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/modsupport.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/moduleobject.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/node.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/object.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/objimpl.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/opcode.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/osdefs.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/parsetok.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/patchlevel.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/pgen.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/pgenheaders.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/py_curses.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/pyarena.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/pycapsule.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/pyctype.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/pydebug.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/pyerrors.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/pyexpat.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/pyfpe.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/pygetopt.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/pymacconfig.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/pymactoolbox.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/pymath.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/pymem.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/pyport.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/pystate.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/pystrcmp.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/pystrtod.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/pythonrun.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/pythread.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/rangeobject.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/setobject.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/sliceobject.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/stringobject.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/structmember.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/structseq.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/symtable.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/sysmodule.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/timefuncs.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/token.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/traceback.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/tupleobject.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/ucnhash.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/unicodeobject.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/warnings.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 ./Include/weakrefobject.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7
/usr/local/bin/ginstall -c -m 644 pyconfig.h /private/tmp/python-for-android/build/other_builds/python2/armeabi/python2/python-install/include/python2.7/pyconfig.h


  STDERR:
```



Discussion:
Looks like it's trying to build the OSX dylib, which won't work with the Android compiler (obviously). I'm pretty sure that OSX has had the least amount of testing for the p4a revamp.

I guess it would make sense to use travis for p4a too right?

Do you mean use Travis to check for these issues? My primary concern there would be the build time required to check everything. Maybe if it could be set up to run once a night rather than whenever a commit happens - won't get immediate results, but issues would still be detected. But mostly I think the revamp just hasn't been tested well in OSX, not that there is any regression.

If you mean to use Travis to do your p4a builds though, that would absolutely work. These are only issues in OSX and everything builds fine in Linux. :)

Should the two patches with the `is_linux` condition in the python2 recipe actually be testing for OS X?

Yeah I meant to setup travis to continuously check for build issues. We can use something like [nightli.es](https://nightli.es) for this. Or any alternative mentioned [here](https://stackoverflow.com/questions/20395624/travis-ci-builds-on-schedule).

Let's move the CI discussion to #625.

@inclement Yeah, those should probably be `is_darwin`. Now that I look at it, I remember when I did the easy patching how it seemed strange that those patches were applied `if uname()[0] == 'Linux'`, but just went with it anyway as I wasn't able to test on OSX right then.

@cbenhagen Could you test this please? On these two lines, change `is_linux` to `is_darwin` and see if it compiles.

https://github.com/kivy/python-for-android/blob/master/pythonforandroid/recipes/python2/__init__.py#L34L35

:+1:  It compiles. Thank you very much!


Resolving patch:
diff --git a/pythonforandroid/recipes/python2/__init__.py b/pythonforandroid/recipes/python2/__init__.py
--- a/pythonforandroid/recipes/python2/__init__.py
+++ b/pythonforandroid/recipes/python2/__init__.py
@@ -31,8 +31,8 @@ class Python2Recipe(TargetPythonRecipe):
                'patches/fix-dlfcn.patch',
                'patches/parsetuple.patch',
                'patches/ctypes-find-library-updated.patch',
-               ('patches/fix-configure-darwin.patch', is_linux),
-               ('patches/fix-distutils-darwin.patch', is_linux),
+               ('patches/fix-configure-darwin.patch', is_darwin),
+               ('patches/fix-distutils-darwin.patch', is_darwin),
                ('patches/fix-ftime-removal.patch', is_api_gt(19)),
                ('patches/disable-openpty.patch', check_all(is_api_lt(21), is_ndk('crystax')))]
 


Test patch: