Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

p4a create fails if cython is installed in ~/.local #771

Closed
antocuni opened this issue Jun 9, 2016 · 17 comments
Closed

p4a create fails if cython is installed in ~/.local #771

antocuni opened this issue Jun 9, 2016 · 17 comments

Comments

@antocuni
Copy link

antocuni commented Jun 9, 2016

I have cython installed in my ~/.local directory (I installed it using pip install --user cython, long ago).
When I try to create a distribution, it fails like this:

[INFO]:    pyjnius first build failed (as expected)
[INFO]:    Running cython where appropriate
[INFO]:    Cythonize jnius/jnius.pyx
[INFO]:    -> running cython ./jnius/jnius.pyx
[INFO]:    -> running python.host setup.py build_ext -v                                                                                                           
[INFO]:    STDOUT:                                                                                                                                                
    /home/antocuni/.local/share/python-for-android/build/python-installs/mytest/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'install_requires'   
  warnings.warn(msg)    
running build_ext   
failed to import Cython: /home/antocuni/.local/share/python-for-android/build/python-installs/mytest/lib/python2.7/lib-dynload/_io.so: wrong ELF class: ELFCLASS32
error: Cython does not appear to be installed

It seems that python.host tries to import Cython from there, but then cython imports io, which in turns imports _io and it fails.
If I remove Cython from ~/.local everything works fine. I didn't dig more but I assume that python.host is configured in a way to use a custom (or maybe just older?) version of Cython, which is masked by the one in ~/.local (which correctly overrides whatever it's in site-packages).

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

@antocuni
Copy link
Author

antocuni commented Jun 9, 2016

I think it might be enough to invoke python.host with -s or PYTHONNOUSERSITE=1, which should disable ~/.local altogether

@inclement
Copy link
Member

inclement commented Jun 9, 2016

p4a is supposed to use the local non-p4a cython binary. The problem here is that it does so (and apparently successfully), but then the pyjnius setup.py does something during the build that tries to import it, and naturally fails (since the targetpython build doesn't include cython). I'm not sure why this is happening though, and if removing cython from .local makes it work then it's certainly a weird interaction to avoid.

@kasperloopstra
Copy link

This also seems to be happening with only a system cython installed, at least on Debian Jessie.


[INFO]:    -> directory context /home/kasperl/.local/share/python-for-android/build/other_builds/pyjnius-python2-sdl2/x86/pyjnius
[DEBUG]:   -> running python.host -c import sys; print(sys.path)
[DEBUG]:    ['', '/home/kasperl/.local/lib/python2.7/site-packages/enaml-0.6.8-py2.7.egg', '/home/kasperl/.local/lib/python2.7/site-packages/icalendar-1.2-py2.7.egg', '/home/kasperl/.local/lib/python2.7/site-packages/buildozer-0.28dev-py2.7.egg', '/home/kasperl/.local/share/python-for-android/build/python-installs/unnamed_dist_4/lib/python27.zip', '/home/kasperl/.local/share/python-for-android/build/python-installs/unnamed_dist_4/lib/python2.7', '/home/kasperl/.local/share/python-for-android/build/python-installs/unnamed_dist_4/lib/python2.7/plat-linux3', '/home/kasperl/.local/share/python-for-android/build/python-installs/unnamed_dist_4/lib/python2.7/lib-tk', '/home/kasperl/.local/share/python-for-android/build/python-installs/unnamed_dist_4/lib/python2.7/lib-old', '/home/kasperl/.local/share/python-for-android/build/python-installs/unnamed_dist_4/lib/python2.7/lib-dynload', '/home/kasperl/.local/lib/python2.7/site-packages', '/usr/lib/python2.7/dist-packages', '/home/kasperl/.local/share/python-for-android/build/python-installs/unnamed_dist_4/lib/python2.7/site-packages']
('cwd is', '/home/kasperl/.local/share/python-for-android/build/other_builds/pyjnius-python2-sdl2/x86/pyjnius')
[INFO]:    Trying first build of pyjnius to get cython files: this is expected to fail
[DEBUG]:   -> running python.host setup.py build_ext -v
[DEBUG]:    /home/kasperl/.local/share/python-for-android/build/python-installs/unnamed_dist_4/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'install_requires'
[DEBUG]:      warnings.warn(msg)
[DEBUG]:    running build_ext
[DEBUG]:    failed to import Cython: /home/kasperl/.local/share/python-for-android/build/python-installs/unnamed_dist_4/lib/python2.7/lib-dynload/_io.so: wrong ELF class: ELFCLASS32
[DEBUG]:    error: Cython does not appear to be installed
()
[INFO]:    pyjnius first build failed (as expected)
[INFO]:    Running cython where appropriate
[INFO]:    Cythonize jnius/jnius.pyx
[DEBUG]:   -> running cython ./jnius/jnius.pyx
[DEBUG]:    warning: jnius/jnius.pyx:2:0: __getslice__, __setslice__, and __delslice__ are not supported by Python 3, use __getitem__, __setitem__, and __delitem__ instead
[DEBUG]:   -> running python.host setup.py build_ext -v
[DEBUG]:    /home/kasperl/.local/share/python-for-android/build/python-installs/unnamed_dist_4/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'install_requires'
[DEBUG]:      warnings.warn(msg)
[DEBUG]:    running build_ext
[DEBUG]:    failed to import Cython: /home/kasperl/.local/share/python-for-android/build/python-installs/unnamed_dist_4/lib/python2.7/lib-dynload/_io.so: wrong ELF class: ELFCLASS32
[DEBUG]:    error: Cython does not appear to be installed
[INFO]:    STDOUT:
    /home/kasperl/.local/share/python-for-android/build/python-installs/unnamed_dist_4/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'install_requires'    
  warnings.warn(msg)    
running build_ext   
failed to import Cython: /home/kasperl/.local/share/python-for-android/build/python-installs/unnamed_dist_4/lib/python2.7/lib-dynload/_io.so: wrong ELF class: ELFCLASS32   
error: Cython does not appear to be installed
[INFO]:    STDERR:

[INFO]:    COMMAND:
cd /home/kasperl/.local/share/python-for-android/build/other_builds/pyjnius-python2-sdl2/x86/pyjnius && /home/kasperl/.local/share/python-for-android/build/python-installs/unnamed_dist_4/bin/python.host setup.py build_ext -v

[WARNING]: ERROR: /home/kasperl/.local/share/python-for-android/build/python-installs/unnamed_dist_4/bin/python.host failed!

pip uninstall cython
Not uninstalling Cython at /usr/lib/python2.7/dist-packages, owned by OS

The testapp using flask and not kivy does compile. Is this the same issue?

@inclement
Copy link
Member

Looks like it could be. I'm still not sure why it's happening though.

@antocuni
Copy link
Author

antocuni commented Jul 7, 2016

No, @kasperloopstra's issue is that it cannot find a cython. My issue is that it found the wrong one.

This is happening because the recipes are extremely fragile and rely on the fact that nobody imports an extension module (_io, in this case). If, for varioius reasons, cython happens to be in sys.path, the setup.py tries to import it, triggering the crash.

Why does it happens? I can think of at least two reasons:

  1. cython is installed in ~/.local/ (this happens when you do pip install --user). By design, python will always try to put ~/local/lib/python2.7/site-packages in sys.path. The only way to prevent this is to run python.host with -s (which disables the user site packages dir).

  2. the directory with cython is in PYTHONPATH

  3. there are many more subtle ways which might trigger it (e.g. pth files, virtualenvs, custome site.py, PYTHONSTARTUP, etc.)

I think that the real solution is to try to make the recipes less fragiles. In particular, they try to run "python setup.py build_ext" and expect it to fail to compile the .pyx files into C files. It should be sufficient to do a python setup.py sdist, and this has the advantage that can be done with whatever python you want, as long as it has cython installed.

@inclement
Copy link
Member

inclement commented Jul 7, 2016

I see, I think I misunderstood the .local problem before.

I'd be happy with any general improvement to the CythonRecipe mechanism. The current way is essentially inherited from the original python-for-android code, although I don't think it's quite as fragile as you suggest, since when we set the android environment up we totally replace the normal env vars, so the PYTHONPATH etc. are overridden (of course, it's certainly fragile in other ways). I agree about the expecting to fail, although I hadn't thought of using sdist to generate any build files without trying to cythonise.

I've previously made some changes so that CythonRecipe could continue if the compile didn't fail, but I can't remember what I had done that made cython work here without any issues. I'll probably come back to this soonish to clean the whole thing up.

Thanks for the information.

@antocuni
Copy link
Author

antocuni commented Jul 8, 2016

I am sorry for my previous response, I now realize it sounded too harsh.
I am on vacation now, but I might take a look at it when I'm back to see if
I can find a way to improve the handling of recipes in a more robust way :-)
Il 08 lug 2016 12:50 AM, "Alexander Taylor" [email protected] ha
scritto:

I see, I think I misunderstood the .local problem before.

I'd be happy with any general improvement to the CythonRecipe mechanism.
The current way is essentially inherited from the original
python-for-android code. I don't think it's quite as fragile as you
suggest, since when we set the android environment up we totally replace
the normal env vars, so the PYTHONPATH etc. are overridden. I agree about
the expecting to fail, although I hadn't thought of using sdist to generate
any build files without trying to cythonise.

I've previously made some changes so that CythonRecipe could continue if
the compile didn't fail, but I can't remember what I had done that made
cython work here without any issues. I'll probably come back to this
soonish to clean the whole thing up a bit.

Thanks for the information.


You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
#771 (comment),
or mute the thread
https://github.com/notifications/unsubscribe/AAVBuwFdAMIT0cVdVL6TgzL01odjLnxVks5qTYKdgaJpZM4IyfVF
.

@kasperloopstra
Copy link

I'm not quite sure that it cannot find Cython at all. A few lines above the actual crash it does say:
...
failed to import Cython: /home/kasperl/.local/share/python-for-android/build/python-installs/unnamed_dist_4/lib/python2.7/lib-dynload/_io.so: wrong ELF class: ELFCLASS32
...

If it manages to find a Cython with the wrong ELFCLASS, this would cause this behaviour, right?

I'll have a look at the Cython recipes this weekend and see if I can make some progress myself.

@kasperloopstra
Copy link

I've hadded the '-s' switch to the calls to hostpython as @antocuni suggested, and changed the build_ext call to sdist as well. This results in a compiled APK, which then crashes on an Android x86 virtual machine when importing anything. I've tried the Flask and Kivy examples, and both seem to crash on the first import statement with an error in _io.so (has unexpected e_machine: 40).

Does this mean that somehow modules are compiled with the host architecture? Or are modules being ignored when packing the APK?

I will try some armeabi apk's once I've found a device newer than my own smartphone, in case it's just x86.

@inclement
Copy link
Member

@kasperloopstra If you'd like to debug this, please post the full logcat output. It would also be useful if you could open a PR (or just post the diff) with your recipe changes.

@kasperloopstra
Copy link

kasperloopstra commented Jul 9, 2016

Here's the diff and full log of me downloading, installing and running the APK's generated with that diff from the testapps for Flask and Kivy,
log.txt
system_only_diff.txt
Some interesting bits:

...
I/python  ( 2857): Traceback (most recent call last):
I/python  ( 2857):   File "main.py", line 16, in <module>
I/python  ( 2857):     import flask
I/python  ( 2857):   File "/data/data/org.example.myapp/files/lib/python2.7/site-packages/flask/__init__.py", line 17, in <module>
I/python  ( 2857):     from werkzeug.exceptions import abort
I/python  ( 2857):   File "/data/data/org.example.myapp/files/lib/python2.7/site-packages/werkzeug/__init__.py", line 152, in <module>
I/python  ( 2857):     __import__('werkzeug.exceptions')
I/python  ( 2857):   File "/data/data/org.example.myapp/files/lib/python2.7/site-packages/werkzeug/exceptions.py", line 71, in <module>
V/WebViewLoader( 2857): Could not ping localhost:5000
I/python  ( 2857):     from werkzeug.wrappers import Response
I/python  ( 2857):   File "/data/data/org.example.myapp/files/lib/python2.7/site-packages/werkzeug/wrappers.py", line 35, in <module>
W/audio_hw_primary( 1033): out_write underrun: -32
I/python  ( 2857):     from werkzeug.formparser import FormDataParser, default_stream_factory
I/python  ( 2857):   File "/data/data/org.example.myapp/files/lib/python2.7/site-packages/werkzeug/formparser.py", line 14, in <module>
I/python  ( 2857):     from io import BytesIO
I/python  ( 2857):   File "/home/kasperl/.local/share/python-for-android/build/other_builds/python2/armeabi/python2/python-install/lib/python2.7/io.py", line 60, in <module>
I/python  ( 2857): ImportError: dlopen failed: "/data/data/org.example.myapp/files/lib/python2.7/lib-dynload/_io.so" has unexpected e_machine: 40
I/python  ( 2857): Python for android ended.
...

It seems that it's using some stuff from the armeabi arch. Which is wierd, as I've requested x86 on the commandline and I'm pretty sure I'm cleaning before each build. I'll run some other tests later today, but it kind of looks like x86 android isn't fully supported yet? I don't have any ARM devices near me (nothing with a recent android anyway), so testing that will have to wait for a while.

Is there anything else that would help?

@inclement
Copy link
Member

When I added the arch stuff I confirmed that the x86 builds did work and could run in the emulator, so it should work in principle but I never tested it that much so there could be a bug either introduced since then or that I missed at the time.

Your recipe changes look reasonable, I'll try to test these things individually later to check if they work for me.

@kasperloopstra
Copy link

log.txt

OK, this might be branching of in an entirely different issue now, but I'm not sure what's what. I've made a virtual Android ARM device (armeabiv7 android 4.4 AVD made with Android Studio), and when trying the Kivy app it crashes when trying to load SDL:

...
W/System.err( 1381): Couldn't load SDL2 from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/org.example.myapp-1.apk"],nativeLibraryDirectories=[/data/app-lib/org.example.myapp-1, /vendor/lib, /system/lib]]]: findLibrary returned null
...

.../AndroidRuntime( 1381): FATAL EXCEPTION: main
E/AndroidRuntime( 1381): Process: org.example.myapp, PID: 1381
E/AndroidRuntime( 1381): java.lang.UnsatisfiedLinkError: Native method not found: org.libsdl.app.SDLActivity.nativeSetEnv:(Ljava/lang/String;Ljava/lang/String;)V
E/AndroidRuntime( 1381): at org.libsdl.app.SDLActivity.nativeSetEnv(Native Method)
E/AndroidRuntime( 1381): at org.kivy.android.PythonActivity.onCreate(PythonActivity.java:68)
E/AndroidRuntime( 1381): at android.app.Activity.performCreate(Activity.java:5231)
E/AndroidRuntime( 1381): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
E/AndroidRuntime( 1381): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
E/AndroidRuntime( 1381): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
E/AndroidRuntime( 1381): at android.app.ActivityThread.access$800(ActivityThread.java:135)
E/AndroidRuntime( 1381): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
E/AndroidRuntime( 1381): at android.os.Handler.dispatchMessage(Handler.java:102)
E/AndroidRuntime( 1381): at android.os.Looper.loop(Looper.java:136)
E/AndroidRuntime( 1381): at android.app.ActivityThread.main(ActivityThread.java:5017)
E/AndroidRuntime( 1381): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 1381): at java.lang.reflect.Method.invoke(Method.java:515)
E/AndroidRuntime( 1381): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
E/AndroidRuntime( 1381): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
E/AndroidRuntime( 1381): at dalvik.system.NativeStart.main(Native Method)
W/ActivityManager( 378): Force finishing activity org.example.myapp/org.kivy.android.PythonActivity
...

When running the Flask app, it crashes in a different way, after extracting a whole load of Python files (what looks like most of numpy, among other things):

...
V/python ( 1441): extracting _load.html
V/Python ( 1441): Device: generic
V/Python ( 1441): Model: google_sdk
W/System.err( 1441): Couldn't load python3.5m from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/org.example.myapp-2.apk"],nativeLibraryDirectories=[/data/app-lib/org.example.myapp-2, /vendor/lib, /system/lib]]]: findLibrary returned null
...

.Which is odd as Ive compiled it with:
...
p4a apk --private /media/data/src/android/p4a/python-for-android/testapps/testapp_flask/ --version=0.1 --requirements=V/python ( 1441): extracting _load.htmlflask,python2 --port=5000 --package=org.example.myapp --bootstrap=webview --debug --name="Flask-s-armeabi" --arch=armeabi
...

Is there anything else I can do to debug this? I'll have a look at the arch stuff, but at first glance I couldn't find any obvious x86/armeabi typo's or switchups or something. Are there any known differences between armeabi AVD's and real hardware?

@AnkitMArtin
Copy link

AnkitMArtin commented Mar 27, 2018

Can any one tell me why this error is showing ?

# Check configuration tokens
# Ensure build layout
# Check configuration tokens
# Preparing build
# Check requirements for android
# Run 'dpkg --version'
# Cwd None
Debian 'dpkg' package management program version 1.18.4 (amd64).
This is free software; see the GNU General Public License version 2 or
later for copying conditions. There is NO warranty.
# Search for Git (git)
#  -> found at /usr/bin/git
# Search for Cython (cython)
#  -> found at /usr/local/bin/cython
# Search for Java compiler (javac)
#  -> found at /usr/lib/jvm/java-8-openjdk-amd64/bin/javac
# Search for Java keytool (keytool)
#  -> found at /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/keytool
# Install platform
# Run 'pip install -q --user "appdirs" "colorama>=0.3.3" "sh>=1.10,<1.12.5" "jinja2" "six"'
# Cwd None
# Apache ANT found at /home/ankit/.buildozer/android/platform/apache-ant-1.9.4
# Android SDK found at /home/ankit/.buildozer/android/platform/android-sdk-20
# Android NDK found at /home/ankit/.buildozer/android/platform/android-ndk-r9c
# Check application requirements
# Check garden requirements
# Compile platform
# Run '/usr/bin/python -m pythonforandroid.toolchain create --dist_name=qrcodeexample --bootstrap=sdl2 --requirements=kivy --arch armeabi-v7a --copy-libs --color=always --storage-dir=/home/ankit/my folder/qr code/.buildozer/android/platform/build'
# Cwd /home/ankit/my folder/qr code/.buildozer/android/platform/python-for-android-new-toolchain
[INFO]:    Will compile for the following archs: armeabi-v7a
[INFO]:    Found Android API target in $ANDROIDAPI
[INFO]:    Available Android APIs are (19)
[INFO]:    Requested API target 19 is available, continuing.
[INFO]:    Found NDK dir in $ANDROIDNDK
[INFO]:    Got NDK version from $ANDROIDNDKVER
[INFO]:    Using Google NDK r9c
[INFO]:    Found virtualenv at /home/ankit/.local/bin/virtualenv
[INFO]:    Found the following toolchain versions: ['4.6', '4.8', 'clang3.3']
[INFO]:    Picking the latest gcc toolchain, here 4.8
[WARNING]: Missing executable: autoconf is not installed
[WARNING]: Missing executable: automake is not installed
[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]:    Found multiple valid dependency orders:
[INFO]:        ['hostpython2', 'sdl2_image', 'sdl2_mixer', 'sdl2_ttf', 'python2', 'sdl2', 'six', 'pyjnius', u'kivy']
[INFO]:        ['hostpython3crystax', 'sdl2_image', 'sdl2_mixer', 'sdl2_ttf', 'python3crystax', 'sdl2', 'six', 'pyjnius', u'kivy']
[INFO]:        ['hostpython2', 'pygame_bootstrap_components', 'python2', 'sdl', 'six', 'pygame', 'pyjnius', u'kivy']
[INFO]:    Using the first of these: ['hostpython2', 'sdl2_image', 'sdl2_mixer', 'sdl2_ttf', 'python2', 'sdl2', 'six', 'pyjnius', u'kivy']
[INFO]:    The selected bootstrap is sdl2_gradle
[INFO]:    # Creating dist with sdl2_gradle bootstrap
[INFO]:    Dist will have name qrcodeexample and recipes (kivy)
[INFO]:    Dist will also contain modules () installed from pip
[INFO]:    -> running cp -r /home/ankit/my folder/qr...(and 163 more)
[INFO]:    -> directory context /home/ankit/my/build/bootstrap_builds/sdl2_gradle-python2
[INFO]:    <- directory context /home/ankit/my folder/qr code/.buildozer/android/platform/python-for-android-new-toolchain
[INFO]:    Recipe build order is ['hostpython2', 'sdl2_image', 'sdl2_mixer', 'sdl2_ttf', 'python2', 'sdl2', 'six', 'pyjnius', u'kivy']
[INFO]:    # Downloading recipes 
[INFO]:    Downloading hostpython2
[INFO]:    -> running mkdir -p /home/ankit/my/packages/hostpython2
[INFO]:    -> directory context /home/ankit/my/packages/hostpython2
[INFO]:    -> running basename https://python.org/ftp...(and 34 more)
[INFO]:    hostpython2 download already cached, skipping
[INFO]:    <- directory context /home/ankit/my folder/qr code/.buildozer/android/platform/python-for-android-new-toolchain
[INFO]:    Downloading sdl2_image
[INFO]:    -> running mkdir -p /home/ankit/my/packages/sdl2_image
[INFO]:    -> directory context /home/ankit/my/packages/sdl2_image
[INFO]:    -> running basename https://www.libsdl.or...(and 52 more)
[INFO]:    sdl2_image download already cached, skipping
[INFO]:    <- directory context /home/ankit/my folder/qr code/.buildozer/android/platform/python-for-android-new-toolchain
[INFO]:    Downloading sdl2_mixer
[INFO]:    -> running mkdir -p /home/ankit/my/packages/sdl2_mixer
[INFO]:    -> directory context /home/ankit/my/packages/sdl2_mixer
[INFO]:    -> running basename https://www.libsdl.or...(and 52 more)
[INFO]:    sdl2_mixer download already cached, skipping
[INFO]:    <- directory context /home/ankit/my folder/qr code/.buildozer/android/platform/python-for-android-new-toolchain
[INFO]:    Downloading sdl2_ttf
[INFO]:    -> running mkdir -p /home/ankit/my/packages/sdl2_ttf
[INFO]:    -> directory context /home/ankit/my/packages/sdl2_ttf
[INFO]:    -> running basename https://www.libsdl.org...(and 48 more)
[INFO]:    sdl2_ttf download already cached, skipping
[INFO]:    <- directory context /home/ankit/my folder/qr code/.buildozer/android/platform/python-for-android-new-toolchain
[INFO]:    Downloading python2
[INFO]:    -> running mkdir -p /home/ankit/my/packages/python2
[INFO]:    -> directory context /home/ankit/my/packages/python2
[INFO]:    -> running basename https://python.org/ftp...(and 34 more)
[INFO]:    python2 download already cached, skipping
[INFO]:    <- directory context /home/ankit/my folder/qr code/.buildozer/android/platform/python-for-android-new-toolchain
[INFO]:    Downloading sdl2
[INFO]:    -> running mkdir -p /home/ankit/my/packages/sdl2
[INFO]:    -> directory context /home/ankit/my/packages/sdl2
[INFO]:    -> running basename https://www.libsdl.org...(and 26 more)
[INFO]:    sdl2 download already cached, skipping
[INFO]:    <- directory context /home/ankit/my folder/qr code/.buildozer/android/platform/python-for-android-new-toolchain
[INFO]:    Downloading six
[INFO]:    -> running mkdir -p /home/ankit/my/packages/six
[INFO]:    -> directory context /home/ankit/my/packages/six
[INFO]:    -> running basename https://pypi.python.or...(and 40 more)
     [INFO]:    six download already cached, skipping                          
[INFO]:    <- directory context /home/ankit/my folder/qr code/.buildozer/android/platform/python-for-android-new-toolchain
[INFO]:    Downloading pyjnius
[INFO]:    -> running mkdir -p /home/ankit/my/packages/pyjnius
[INFO]:    -> directory context /home/ankit/my/packages/pyjnius
[INFO]:    -> running basename https://github.com/kiv...(and 28 more)
[INFO]:    pyjnius download already cached, skipping
[INFO]:    <- directory context /home/ankit/my folder/qr code/.buildozer/android/platform/python-for-android-new-toolchain
[INFO]:    Downloading kivy
[INFO]:    -> running mkdir -p /home/ankit/my/packages/kivy
[INFO]:    -> directory context /home/ankit/my/packages/kivy
[INFO]:    -> running basename https://github.com/kiv...(and 25 more)
[INFO]:    kivy download already cached, skipping
[INFO]:    <- directory context /home/ankit/my folder/qr code/.buildozer/android/platform/python-for-android-new-toolchain
[INFO]:    # Building all recipes for arch armeabi-v7a
[INFO]:    # Unpacking recipes
[INFO]:    Unpacking hostpython2 for armeabi-v7a
[INFO]:    -> running basename https://python.org/ftp...(and 34 more)
[INFO]:    -> directory context /home/ankit/my/build/other_builds/hostpython2/desktop
[INFO]:    hostpython2 is already unpacked, skipping
[INFO]:    <- directory context /home/ankit/my folder/qr code/.buildozer/android/platform/python-for-android-new-toolchain
[INFO]:    Unpacking sdl2_image for armeabi-v7a
[INFO]:    -> running basename https://www.libsdl.or...(and 52 more)
[INFO]:    -> directory context /home/ankit/my/build/bootstrap_builds/sdl2_gradle-python2/jni
[INFO]:    sdl2_image is already unpacked, skipping
[INFO]:    <- directory context /home/ankit/my folder/qr code/.buildozer/android/platform/python-for-android-new-toolchain
[INFO]:    Unpacking sdl2_mixer for armeabi-v7a
[INFO]:    -> running basename https://www.libsdl.or...(and 52 more)
[INFO]:    -> directory context /home/ankit/my/build/bootstrap_builds/sdl2_gradle-python2/jni
[INFO]:    sdl2_mixer is already unpacked, skipping
[INFO]:    <- directory context /home/ankit/my folder/qr code/.buildozer/android/platform/python-for-android-new-toolchain
[INFO]:    Unpacking sdl2_ttf for armeabi-v7a
[INFO]:    -> running basename https://www.libsdl.org...(and 48 more)
           work[INFO]:    -> directory context /home/ankit/my/build/bootstrap_builds/sdl2_gradle-python2/jni
[INFO]:    sdl2_ttf is already unpacked, skipping
[INFO]:    <- directory context /home/ankit/my folder/qr code/.buildozer/android/platform/python-for-android-new-toolchain
[INFO]:    Unpacking python2 for armeabi-v7a
[INFO]:    -> running basename https://python.org/ftp...(and 34 more)
[INFO]:    -> directory context /home/ankit/my/build/other_builds/python2/armeabi-v7a
[INFO]:    python2 is already unpacked, skipping
[INFO]:    <- directory context /home/ankit/my folder/qr code/.buildozer/android/platform/python-for-android-new-toolchain
[INFO]:    Unpacking sdl2 for armeabi-v7a
[INFO]:    -> running basename https://www.libsdl.org...(and 26 more)
[INFO]:    -> directory context /home/ankit/my/build/bootstrap_builds/sdl2_gradle-python2/jni
[INFO]:    sdl2 is already unpacked, skipping
[INFO]:    <- directory context /home/ankit/my folder/qr code/.buildozer/android/platform/python-for-android-new-toolchain
[INFO]:    Unpacking six for armeabi-v7a
[INFO]:    -> running basename https://pypi.python.or...(and 40 more)
[INFO]:    -> directory context /home/ankit/my/build/other_builds/six-python2/armeabi-v7a
[INFO]:    six is already unpacked, skipping
[INFO]:    <- directory context /home/ankit/my folder/qr code/.buildozer/android/platform/python-for-android-new-toolchain
[INFO]:    Unpacking pyjnius for armeabi-v7a
[INFO]:    -> running basename https://github.com/kiv...(and 28 more)
[INFO]:    -> directory context /home/ankit/my/build/other_builds/pyjnius-python2-sdl2/armeabi-v7a
[INFO]:    pyjnius is already unpacked, skipping
[INFO]:    <- directory context /home/ankit/my folder/qr code/.buildozer/android/platform/python-for-android-new-toolchain
[INFO]:    Unpacking kivy for armeabi-v7a
[INFO]:    -> running basename https://github.com/kiv...(and 25 more)
[INFO]:    -> directory context /home/ankit/my/build/other_builds/kivy-python2-sdl2/armeabi-v7a
[INFO]:    kivy is already unpacked, skipping
[INFO]:    <- directory context /home/ankit/my folder/qr code/.buildozer/android/platform/python-for-android-new-toolchain
[INFO]:    # Prebuilding recipes
[INFO]:    Prebuilding hostpython2 for armeabi-v7a
[INFO]:    -> running cp /home/ankit/my folder/qr co...(and 186 more)
[INFO]:    Prebuilding sdl2_image for armeabi-v7a
[INFO]:    sdl2_image has no prebuild_armeabi_v7a, skipping
[INFO]:    Applying patches for sdl2_image[armeabi-v7a]
[INFO]:    sdl2_image already patched, skipping
[INFO]:    Prebuilding sdl2_mixer for armeabi-v7a
[INFO]:    sdl2_mixer has no prebuild_armeabi_v7a, skipping
[INFO]:    Applying patches for sdl2_mixer[armeabi-v7a]
[INFO]:    sdl2_mixer already patched, skipping
[INFO]:    Prebuilding sdl2_ttf for armeabi-v7a
[INFO]:    sdl2_ttf has no prebuild_armeabi_v7a, skipping
[INFO]:    Prebuilding python2 for armeabi-v7a
[INFO]:    python2 has no prebuild_armeabi_v7a, skipping
[INFO]:    Applying patches for python2[armeabi-v7a]
[INFO]:    python2 already patched, skipping
[INFO]:    Prebuilding sdl2 for armeabi-v7a
[INFO]:    sdl2 has no prebuild_armeabi_v7a, skipping
[INFO]:    Applying patches for sdl2[armeabi-v7a]
[INFO]:    sdl2 already patched, skipping
[INFO]:    Prebuilding six for armeabi-v7a
[INFO]:    six has no prebuild_armeabi_v7a, skipping
[INFO]:    Prebuilding pyjnius for armeabi-v7a
[INFO]:    pyjnius has no prebuild_armeabi_v7a, skipping
[INFO]:    Applying patches for pyjnius[armeabi-v7a]
[INFO]:    pyjnius already patched, skipping
[INFO]:    Prebuilding kivy for armeabi-v7a
[INFO]:    kivy has no prebuild_armeabi_v7a, skipping
[INFO]:    # Building recipes
[INFO]:    Building hostpython2 for armeabi-v7a
[INFO]:    -> directory context /home/ankit/my/build/other_builds/hostpython2/desktop/hostpython2
[INFO]:    hostpython already exists, skipping build
[INFO]:    <- directory context /home/ankit/my folder/qr code/.buildozer/android/platform/python-for-android-new-toolchain
[INFO]:    Building sdl2_image for armeabi-v7a
[INFO]:    Building sdl2_mixer for armeabi-v7a
[INFO]:    Building sdl2_ttf for armeabi-v7a
[INFO]:    Building python2 for armeabi-v7a
[INFO]:    Copying hostpython binary to targetpython folder
[INFO]:    -> running cp /home/ankit/my/build/other_...(and 116 more)
[INFO]:    Building sdl2 for armeabi-v7a
[INFO]:    -> directory context /home/ankit/my/build/bootstrap_builds/sdl2_gradle-python2/jni
[INFO]:    -> running ndk-build V=1
           working: /home/ankit/.buildoze[INFO]:    <- directory context /home/ankit/my folder/qr code/.buildozer/android/platform/python-for-android-new-toolchain
[INFO]:    Building six for armeabi-v7a
[INFO]:    Python package already exists in site-packages
[INFO]:    six said it is already built, skipping
[INFO]:    Building pyjnius for armeabi-v7a
[INFO]:    jnius apparently isn't already in site-packages
[INFO]:    Cythonizing anything necessary in pyjnius
[INFO]:    -> directory context /home/ankit/my/build/other_builds/pyjnius-python2-sdl2/armeabi-v7a/pyjnius
[INFO]:    -> running python.host -c import sys; print(sys.path)
                                                        [INFO]:    Trying first build of pyjnius to get cython files: this is expected to fail
[INFO]:    -> running python.host setup.py build_ext -v
('cwd is', '/home/ankit/my/build/other_builds/pyjnius-python2-sdl2/armeabi-v7a/pyjnius')
           working: /home/ankit/my Exception in thread background thread for pid 30613:
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
    self.run()
  File "/usr/lib/python2.7/threading.py", line 754, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/home/ankit/.local/lib/python2.7/site-packages/sh.py", line 2170, in background_thread
    handle_exit_code(exit_code)
  File "/home/ankit/.local/lib/python2.7/site-packages/sh.py", line 1929, in fn
    return self.command.handle_command_exit_code(exit_code)
  File "/home/ankit/.local/lib/python2.7/site-packages/sh.py", line 672, in handle_command_exit_code
    raise exc
ErrorReturnCode_1: 

  RAN: /home/ankit/my/build/python-installs/qrcodeexample/bin/python.host setup.py build_ext -v

  STDOUT:
/home/ankit/my/build/python-installs/qrcodeexample/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'install_requires'
  warnings.warn(msg)
running build_ext
building 'jnius' extension
/usr/bin/ccache arm-linux-androideabi-gcc -DANDROID -mandroid -fomit-frame-pointer -D__ANDROID_API__=19 -I/home/ankit/.buildozer/android/platform/android-ndk-r9c/platforms/android-19/arch-arm -isysroot /home/ankit/.buildozer/android/platform/android-ndk-r9c/platforms/android-19/arch-arm -I/home/ankit/my/build/python-installs/qrcodeexample/include/python2.7 -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -DANDROID -mandroid -fomit-frame-pointer -D__ANDROID_API__=19 -I/home/ankit/.buildozer/android/platform/android-ndk-r9c/platforms/android-19/arch-arm -isysroot /home/ankit/.buildozer/android/platform/android-ndk-r9c/platforms/android-19/arch-arm -I/home/ankit/my/build/python-installs/qrcodeexample/include/python2.7 -march=armv7-a -mfloat-abi=softfp -mfpu=vfp -mthumb -fPIC -I/home/ankit/my/build/python-installs/qrcodeexample/include/python2.7 -c jnius/jnius.c -o build/temp.linux-x86_64-2.7/jnius/jnius.o
jnius/jnius.c: In function '__pyx_f_5jnius_5jnius_check_assignable_from':
jnius/jnius.c:4548:7: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
       __pyx_t_4 = __Pyx_PyBool_FromLong((!(!__pyx_t_2))); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 195; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       ^
jnius/jnius.c:4548:7: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
jnius/jnius.c:4567:7: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
       __pyx_t_4 = __Pyx_PyBool_FromLong((!(!__pyx_t_2))); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       ^
jnius/jnius.c:4567:7: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
jnius/jnius.c:4622:5: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
     __pyx_t_4 = __Pyx_PyBool_FromLong((!(!__pyx_t_2))); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     ^
jnius/jnius.c:4622:5: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
jnius/jnius.c: In function '__pyx_f_5jnius_5jnius_jstringy_arg':
jnius/jnius.c:6388:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
   __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 5; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   ^
jnius/jnius.c:6388:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
jnius/jnius.c: In function '__pyx_f_5jnius_5jnius_convert_jstring_to_python':
jnius/jnius.c:8640:19: warning: assignment discards 'const' qualifier from pointer target type [enabled by default]
   __pyx_v_j_chars = (__pyx_v_j_env[0])->GetStringChars(__pyx_v_j_env, __pyx_v_j_string, NULL);
                   ^
jnius/jnius.c: In function '__pyx_f_5jnius_5jnius_convert_jarray_to_python':
jnius/jnius.c:8954:9: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
         __Pyx_INCREF(Py_True);
         ^
jnius/jnius.c:8957:9: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
         __Pyx_INCREF(Py_False);
         ^
jnius/jnius.c: In function '__pyx_pf_5jnius_5jnius_9ByteArray_12__richcmp__':
jnius/jnius.c:14233:5: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
     __Pyx_INCREF(Py_False);
     ^
jnius/jnius.c: In function '__pyx_f_5jnius_5jnius_9JavaField_read_field':
jnius/jnius.c:20452:7: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
       __Pyx_INCREF(Py_True);
       ^
jnius/jnius.c:20455:7: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
       __Pyx_INCREF(Py_False);
       ^
jnius/jnius.c: In function '__pyx_f_5jnius_5jnius_9JavaField_read_static_field':
jnius/jnius.c:21003:7: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
       __Pyx_INCREF(Py_True);
       ^
jnius/jnius.c:21006:7: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
       __Pyx_INCREF(Py_False);
       ^
jnius/jnius.c: In function '__pyx_f_5jnius_5jnius_10JavaMethod_call_method':
jnius/jnius.c:23019:7: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
       __Pyx_INCREF(Py_True);
       ^
jnius/jnius.c:23022:7: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
       __Pyx_INCREF(Py_False);
       ^
jnius/jnius.c: In function '__pyx_f_5jnius_5jnius_10JavaMethod_call_staticmethod':
jnius/jnius.c:23942:7: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
       __Pyx_INCREF(Py_True);
       ^
jnius/jnius.c:23945:7: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
       __Pyx_INCREF(Py_False);
       ^
jnius/jnius.c: In function '__pyx_pf_5jnius_5jnius_18JavaMultipleMethod_6__call__':
jnius/jnius.c:25783:5: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
     __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_jm->is_varargs); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 893; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     ^
jnius/jnius.c:25783:5: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
jnius/jnius.c: In function '__pyx_f_5jnius_5jnius_py_invoke0':
jnius/jnius.c:28241:29: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   __pyx_t_2 = ((PyObject *)((void *)__pyx_v_jptr));
                             ^
jnius/jnius.c: In function '__pyx_f_5jnius_5jnius_create_proxy_instance':
jnius/jnius.c:29251:46: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
   __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(((PY_LONG_LONG)((void *)__pyx_v_py_obj))); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
                                              ^
jnius/jnius.c: In function 'get_memview_MemoryView_5array_7memview___get__':
jnius/jnius.c:30782:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
   __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_v_self->dtype_is_object); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   ^
jnius/jnius.c:30782:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
jnius/jnius.c: In function '__pyx_memoryview_is_slice':
jnius/jnius.c:32349:9: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
         __pyx_t_7 = __Pyx_PyBool_FromLong(__pyx_v_self->dtype_is_object); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L4_error;}
         ^
jnius/jnius.c:32349:9: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
jnius/jnius.c: In function '__pyx_memoryview_MemoryView_10memoryview_16is_c_contig':
jnius/jnius.c:34683:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
   __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_memviewslice_is_contig(__pyx_v_mslice, 'C', __pyx_v_self->view.ndim)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 579; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   ^
jnius/jnius.c:34683:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
jnius/jnius.c: In function '__pyx_memoryview_MemoryView_10memoryview_18is_f_contig':
jnius/jnius.c:34757:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
   __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_memviewslice_is_contig(__pyx_v_mslice, 'F', __pyx_v_self->view.ndim)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 585; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   ^
jnius/jnius.c:34757:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
jnius/jnius.c: In function '__pyx_memoryview_new':
jnius/jnius.c:35000:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
   __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_v_dtype_is_object); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   ^
jnius/jnius.c:35000:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
jnius/jnius.c: In function '_unellipsify':
jnius/jnius.c:35477:5: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
     __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_v_have_slices); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     ^
jnius/jnius.c:35477:5: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
jnius/jnius.c: In function '__pyx_memoryview_fromslice':
jnius/jnius.c:37546:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
   __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_v_dtype_is_object); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   ^
jnius/jnius.c:37546:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
jnius/jnius.c: In function 'initjnius':
jnius/jnius.c:44228:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
   __Pyx_INCREF(((PyObject *)((PyObject*)(&PyType_Type))));
   ^
jnius/jnius.c: In function '__Pyx_RaiseTooManyValuesError':
jnius/jnius.c:45031:18: warning: format '%zd' expects argument of type 'signed size_t', but argument 3 has type 'Py_ssize_t' [-Wformat=]
                  "too many values to unpack (expected %" CYTHON_FORMAT_SSIZE_T "d)", expected);
                  ^
jnius/jnius.c: In function '__Pyx_RaiseNeedMoreValuesError':
jnius/jnius.c:45037:18: warning: format '%zd' expects argument of type 'signed size_t', but argument 3 has type 'Py_ssize_t' [-Wformat=]
                  index, (index == 1) ? "" : "s");
                  ^
jnius/jnius.c: In function '__Pyx_RaiseArgtupleInvalid':
jnius/jnius.c:45832:18: warning: format '%zd' expects argument of type 'signed size_t', but argument 5 has type 'Py_ssize_t' [-Wformat=]
                  (num_expected == 1) ? "" : "s", num_found);
                  ^
jnius/jnius.c:45832:18: warning: format '%zd' expects argument of type 'signed size_t', but argument 7 has type 'Py_ssize_t' [-Wformat=]
jnius/jnius.c: In function '__Pyx_BufFmt_ProcessTypeChunk':
jnius/jnius.c:46161:20: warning: format '%zd' expects argument of type 'signed size_t', but argument 3 has type 'long int' [-Wformat=]
                    (Py_ssize_t)ctx->fmt_offset, (Py_ssize_t)offset);
                    ^
jnius/jnius.c:46161:20: warning: format '%zd' expects argument of type 'signed size_t', but argument 4 has type 'long int' [-Wformat=]
jnius/jnius.c: In function '__Pyx_GetBufferAndValidate':
jnius/jnius.c:46408:7: warning: format '%zd' expects argument of type 'signed size_t', but argument 3 has type 'Py_ssize_t' [-Wformat=]
       dtype->name, (Py_ssize_t)dtype->size, (dtype->size > 1) ? "s" : "");
       ^
jnius/jnius.c:46408:7: warning: format '%zd' expects argument of type 'signed size_t', but argument 6 has type 'long int' [-Wformat=]
jnius/jnius.c: In function '__Pyx_ValidateAndInit_memviewslice':
jnius/jnius.c:49640:22: warning: format '%zu' expects argument of type 'size_t', but argument 3 has type 'Py_ssize_t' [-Wformat=]
                      (dtype->size > 1) ? "s" : "");
                      ^
jnius/jnius.c: In function '__pyx_f_5jnius_5jnius_convert_python_to_jobject':
jnius/jnius.c:10886:21: warning: '__pyx_v_retmidinit' may be used uninitialized in this function [-Wmaybe-uninitialized]
   __pyx_v_retobject = (__pyx_v_j_env[0])->NewObjectA(__pyx_v_j_env, __pyx_v_retclass, __pyx_v_retmidinit, __pyx_v_j_ret);
                     ^
jnius/jnius.c:9646:13: note: '__pyx_v_retmidinit' was declared here
   jmethodID __pyx_v_retmidinit;
             ^
jnius/jnius.c:10886:21: warning: '__pyx_v_retclass' may be used uninitialized in this function [-Wmaybe-uninitialized]
   __pyx_v_retobject = (__pyx_v_j_env[0])->NewObjectA(__pyx_v_j_env, __pyx_v_retclass, __pyx_v_retmidinit, __pyx_v_j_ret);
                     ^
jnius/jnius.c:9639:10: note: '__pyx_v_retclass' was declared here
   jclass __pyx_v_retclass;
          ^
/home/ankit/my folder/qr code/.buildozer/android/platform/python-for-android-new-toolchain/pythonforandroid/tools/liblink.sh --sysroot /home/ankit/.buildozer/android/platform/android-ndk-r9c/platforms/android-19/arch-arm -lm -L/home/ankit/my/build/libs_collections/qrcodeexample/armeabi-v7a -L/home/ankit/my/build/libs_collections/qrcodeexample/armeabi-v7a -L/home/ankit/my/build/libs_collections/qrcodeexample -L/home/ankit/my/build/bootstrap_builds/sdl2_gradle-python2/obj/local/armeabi-v7a -DANDROID -mandroid -fomit-frame-pointer -D__ANDROID_API__=19 -I/home/ankit/.buildozer/android/platform/android-ndk-r9c/platforms/android-19/arch-arm -isysroot /home/ankit/.buildozer/android/platform/android-ndk-r9c/platforms/android-19/arch-arm -I/home/ankit/my/build/python-installs/qrcodeexample/include/python2.7 -march=armv7-a -mfloat-abi=softfp -mfpu=vfp -mthumb build/temp.linux-x86_64-2.7/jnius/jnius.o -Llibs/armeabi-v7a -L/home/ankit/my/build/other_builds/python2/armeabi-v7a/python2/python-install/lib -lSDL2 -llog -lpython2.7 -o build/lib.linux-x86_64-2.7/jnius/jnius.so
unable to execute /home/ankit/my: Permission denied
error: command '/home/ankit/my' failed with exit status 1


  STDERR:


[INFO]:    pyjnius first build failed (as expected)
[INFO]:    Running cython where appropriate
[INFO]:    Cythonize jnius/jnius.pyx
[INFO]:    -> running cython ./jnius/jnius.pyx
()                                                                             
[INFO]:    -> running python.host setup.py build_ext -v
           working:    jclass __pyException in thread background thread for pid 30633:
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
    self.run()
  File "/usr/lib/python2.7/threading.py", line 754, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/home/ankit/.local/lib/python2.7/site-packages/sh.py", line 2170, in background_thread
    handle_exit_code(exit_code)
  File "/home/ankit/.local/lib/python2.7/site-packages/sh.py", line 1929, in fn
    return self.command.handle_command_exit_code(exit_code)
  File "/home/ankit/.local/lib/python2.7/site-packages/sh.py", line 672, in handle_command_exit_code
    raise exc
ErrorReturnCode_1: 

  RAN: /home/ankit/my/build/python-installs/qrcodeexample/bin/python.host setup.py build_ext -v

  STDOUT:
/home/ankit/my/build/python-installs/qrcodeexample/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'install_requires'
  warnings.warn(msg)
running build_ext
building 'jnius' extension
/usr/bin/ccache arm-linux-androideabi-gcc -DANDROID -mandroid -fomit-frame-pointer -D__ANDROID_API__=19 -I/home/ankit/.buildozer/android/platform/android-ndk-r9c/platforms/android-19/arch-arm -isysroot /home/ankit/.buildozer/android/platform/android-ndk-r9c/platforms/android-19/arch-arm -I/home/ankit/my/build/python-installs/qrcodeexample/include/python2.7 -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -DANDROID -mandroid -fomit-frame-pointer -D__ANDROID_API__=19 -I/home/ankit/.buildozer/android/platform/android-ndk-r9c/platforms/android-19/arch-arm -isysroot /home/ankit/.buildozer/android/platform/android-ndk-r9c/platforms/android-19/arch-arm -I/home/ankit/my/build/python-installs/qrcodeexample/include/python2.7 -march=armv7-a -mfloat-abi=softfp -mfpu=vfp -mthumb -fPIC -I/home/ankit/my/build/python-installs/qrcodeexample/include/python2.7 -c jnius/jnius.c -o build/temp.linux-x86_64-2.7/jnius/jnius.o
jnius/jnius.c: In function '__pyx_f_5jnius_5jnius_check_assignable_from':
jnius/jnius.c:4548:7: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
       __pyx_t_4 = __Pyx_PyBool_FromLong((!(!__pyx_t_2))); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 195; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       ^
jnius/jnius.c:4548:7: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
jnius/jnius.c:4567:7: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
       __pyx_t_4 = __Pyx_PyBool_FromLong((!(!__pyx_t_2))); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       ^
jnius/jnius.c:4567:7: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
jnius/jnius.c:4622:5: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
     __pyx_t_4 = __Pyx_PyBool_FromLong((!(!__pyx_t_2))); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     ^
jnius/jnius.c:4622:5: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
jnius/jnius.c: In function '__pyx_f_5jnius_5jnius_jstringy_arg':
jnius/jnius.c:6388:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
   __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 5; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   ^
jnius/jnius.c:6388:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
jnius/jnius.c: In function '__pyx_f_5jnius_5jnius_convert_jstring_to_python':
jnius/jnius.c:8640:19: warning: assignment discards 'const' qualifier from pointer target type [enabled by default]
   __pyx_v_j_chars = (__pyx_v_j_env[0])->GetStringChars(__pyx_v_j_env, __pyx_v_j_string, NULL);
                   ^
jnius/jnius.c: In function '__pyx_f_5jnius_5jnius_convert_jarray_to_python':
jnius/jnius.c:8954:9: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
         __Pyx_INCREF(Py_True);
         ^
jnius/jnius.c:8957:9: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
         __Pyx_INCREF(Py_False);
         ^
jnius/jnius.c: In function '__pyx_pf_5jnius_5jnius_9ByteArray_12__richcmp__':
jnius/jnius.c:14233:5: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
     __Pyx_INCREF(Py_False);
     ^
jnius/jnius.c: In function '__pyx_f_5jnius_5jnius_9JavaField_read_field':
jnius/jnius.c:20452:7: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
       __Pyx_INCREF(Py_True);
       ^
jnius/jnius.c:20455:7: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
       __Pyx_INCREF(Py_False);
       ^
jnius/jnius.c: In function '__pyx_f_5jnius_5jnius_9JavaField_read_static_field':
jnius/jnius.c:21003:7: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
       __Pyx_INCREF(Py_True);
       ^
jnius/jnius.c:21006:7: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
       __Pyx_INCREF(Py_False);
       ^
jnius/jnius.c: In function '__pyx_f_5jnius_5jnius_10JavaMethod_call_method':
jnius/jnius.c:23019:7: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
       __Pyx_INCREF(Py_True);
       ^
jnius/jnius.c:23022:7: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
       __Pyx_INCREF(Py_False);
       ^
jnius/jnius.c: In function '__pyx_f_5jnius_5jnius_10JavaMethod_call_staticmethod':
jnius/jnius.c:23942:7: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
       __Pyx_INCREF(Py_True);
       ^
jnius/jnius.c:23945:7: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
       __Pyx_INCREF(Py_False);
       ^
jnius/jnius.c: In function '__pyx_pf_5jnius_5jnius_18JavaMultipleMethod_6__call__':
jnius/jnius.c:25783:5: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
     __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_jm->is_varargs); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 893; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     ^
jnius/jnius.c:25783:5: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
jnius/jnius.c: In function '__pyx_f_5jnius_5jnius_py_invoke0':
jnius/jnius.c:28241:29: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   __pyx_t_2 = ((PyObject *)((void *)__pyx_v_jptr));
                             ^
jnius/jnius.c: In function '__pyx_f_5jnius_5jnius_create_proxy_instance':
jnius/jnius.c:29251:46: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
   __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG(((PY_LONG_LONG)((void *)__pyx_v_py_obj))); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
                                              ^
jnius/jnius.c: In function 'get_memview_MemoryView_5array_7memview___get__':
jnius/jnius.c:30782:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
   __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_v_self->dtype_is_object); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   ^
jnius/jnius.c:30782:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
jnius/jnius.c: In function '__pyx_memoryview_is_slice':
jnius/jnius.c:32349:9: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
         __pyx_t_7 = __Pyx_PyBool_FromLong(__pyx_v_self->dtype_is_object); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L4_error;}
         ^
jnius/jnius.c:32349:9: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
jnius/jnius.c: In function '__pyx_memoryview_MemoryView_10memoryview_16is_c_contig':
jnius/jnius.c:34683:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
   __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_memviewslice_is_contig(__pyx_v_mslice, 'C', __pyx_v_self->view.ndim)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 579; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   ^
jnius/jnius.c:34683:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
jnius/jnius.c: In function '__pyx_memoryview_MemoryView_10memoryview_18is_f_contig':
jnius/jnius.c:34757:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
   __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_memviewslice_is_contig(__pyx_v_mslice, 'F', __pyx_v_self->view.ndim)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 585; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   ^
jnius/jnius.c:34757:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
jnius/jnius.c: In function '__pyx_memoryview_new':
jnius/jnius.c:35000:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
   __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_v_dtype_is_object); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   ^
jnius/jnius.c:35000:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
jnius/jnius.c: In function '_unellipsify':
jnius/jnius.c:35477:5: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
     __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_v_have_slices); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     ^
jnius/jnius.c:35477:5: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
jnius/jnius.c: In function '__pyx_memoryview_fromslice':
jnius/jnius.c:37546:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
   __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_v_dtype_is_object); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   ^
jnius/jnius.c:37546:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
jnius/jnius.c: In function 'initjnius':
jnius/jnius.c:44228:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
   __Pyx_INCREF(((PyObject *)((PyObject*)(&PyType_Type))));
   ^
jnius/jnius.c: In function '__Pyx_RaiseTooManyValuesError':
jnius/jnius.c:45031:18: warning: format '%zd' expects argument of type 'signed size_t', but argument 3 has type 'Py_ssize_t' [-Wformat=]
                  "too many values to unpack (expected %" CYTHON_FORMAT_SSIZE_T "d)", expected);
                  ^
jnius/jnius.c: In function '__Pyx_RaiseNeedMoreValuesError':
jnius/jnius.c:45037:18: warning: format '%zd' expects argument of type 'signed size_t', but argument 3 has type 'Py_ssize_t' [-Wformat=]
                  index, (index == 1) ? "" : "s");
                  ^
jnius/jnius.c: In function '__Pyx_RaiseArgtupleInvalid':
jnius/jnius.c:45832:18: warning: format '%zd' expects argument of type 'signed size_t', but argument 5 has type 'Py_ssize_t' [-Wformat=]
                  (num_expected == 1) ? "" : "s", num_found);
                  ^
jnius/jnius.c:45832:18: warning: format '%zd' expects argument of type 'signed size_t', but argument 7 has type 'Py_ssize_t' [-Wformat=]
jnius/jnius.c: In function '__Pyx_BufFmt_ProcessTypeChunk':
jnius/jnius.c:46161:20: warning: format '%zd' expects argument of type 'signed size_t', but argument 3 has type 'long int' [-Wformat=]
                    (Py_ssize_t)ctx->fmt_offset, (Py_ssize_t)offset);
                    ^
jnius/jnius.c:46161:20: warning: format '%zd' expects argument of type 'signed size_t', but argument 4 has type 'long int' [-Wformat=]
jnius/jnius.c: In function '__Pyx_GetBufferAndValidate':
jnius/jnius.c:46408:7: warning: format '%zd' expects argument of type 'signed size_t', but argument 3 has type 'Py_ssize_t' [-Wformat=]
       dtype->name, (Py_ssize_t)dtype->size, (dtype->size > 1) ? "s" : "");
       ^
jnius/jnius.c:46408:7: warning: format '%zd' expects argument of type 'signed size_t', but argument 6 has type 'long int' [-Wformat=]
jnius/jnius.c: In function '__Pyx_ValidateAndInit_memviewslice':
jnius/jnius.c:49640:22: warning: format '%zu' expects argument of type 'size_t', but argument 3 has type 'Py_ssize_t' [-Wformat=]
                      (dtype->size > 1) ? "s" : "");
                      ^
jnius/jnius.c: In function '__pyx_f_5jnius_5jnius_convert_python_to_jobject':
jnius/jnius.c:10886:21: warning: '__pyx_v_retmidinit' may be used uninitialized in this function [-Wmaybe-uninitialized]
   __pyx_v_retobject = (__pyx_v_j_env[0])->NewObjectA(__pyx_v_j_env, __pyx_v_retclass, __pyx_v_retmidinit, __pyx_v_j_ret);
                     ^
jnius/jnius.c:9646:13: note: '__pyx_v_retmidinit' was declared here
   jmethodID __pyx_v_retmidinit;
             ^
jnius/jnius.c:10886:21: warning: '__pyx_v_retclass' may be used uninitialized in this function [-Wmaybe-uninitialized]
   __pyx_v_retobject = (__pyx_v_j_env[0])->NewObjectA(__pyx_v_j_env, __pyx_v_retclass, __pyx_v_retmidinit, __pyx_v_j_ret);
                     ^
jnius/jnius.c:9639:10: note: '__pyx_v_retclass' was declared here
   jclass __pyx_v_retclass;
          ^
/home/ankit/my folder/qr code/.buildozer/android/platform/python-for-android-new-toolchain/pythonforandroid/tools/liblink.sh --sysroot /home/ankit/.buildozer/android/platform/android-ndk-r9c/platforms/android-19/arch-arm -lm -L/home/ankit/my/build/libs_collections/qrcodeexample/armeabi-v7a -L/home/ankit/my/build/libs_collections/qrcodeexample/armeabi-v7a -L/home/ankit/my/build/libs_collections/qrcodeexample -L/home/ankit/my/build/bootstrap_builds/sdl2_gradle-python2/obj/local/armeabi-v7a -DANDROID -mandroid -fomit-frame-pointer -D__ANDROID_API__=19 -I/home/ankit/.buildozer/android/platform/android-ndk-r9c/platforms/android-19/arch-arm -isysroot /home/ankit/.buildozer/android/platform/android-ndk-r9c/platforms/android-19/arch-arm -I/home/ankit/my/build/python-installs/qrcodeexample/include/python2.7 -march=armv7-a -mfloat-abi=softfp -mfpu=vfp -mthumb build/temp.linux-x86_64-2.7/jnius/jnius.o -Llibs/armeabi-v7a -L/home/ankit/my/build/other_builds/python2/armeabi-v7a/python2/python-install/lib -lSDL2 -llog -lpython2.7 -o build/lib.linux-x86_64-2.7/jnius/jnius.so
unable to execute /home/ankit/my: Permission denied
error: command '/home/ankit/my' failed with exit status 1


  STDERR:


[INFO]:    STDOUT (last 20 lines of 161):
	jnius/jnius.c: In function '__Pyx_ValidateAndInit_memviewslice':	
jnius/jnius.c:49640:22: warning: format '%zu' expects argument of type 'size_t', but argument 3 has type 'Py_ssize_t' [-Wformat=]	
                      (dtype->size > 1) ? "s" : "");	
                      ^	
jnius/jnius.c: In function '__pyx_f_5jnius_5jnius_convert_python_to_jobject':	
jnius/jnius.c:10886:21: warning: '__pyx_v_retmidinit' may be used uninitialized in this function [-Wmaybe-uninitialized]	
   __pyx_v_retobject = (__pyx_v_j_env[0])->NewObjectA(__pyx_v_j_env, __pyx_v_retclass, __pyx_v_retmidinit, __pyx_v_j_ret);	
                     ^	
jnius/jnius.c:9646:13: note: '__pyx_v_retmidinit' was declared here	
   jmethodID __pyx_v_retmidinit;	
             ^	
jnius/jnius.c:10886:21: warning: '__pyx_v_retclass' may be used uninitialized in this function [-Wmaybe-uninitialized]	
   __pyx_v_retobject = (__pyx_v_j_env[0])->NewObjectA(__pyx_v_j_env, __pyx_v_retclass, __pyx_v_retmidinit, __pyx_v_j_ret);	
                     ^	
jnius/jnius.c:9639:10: note: '__pyx_v_retclass' was declared here	
   jclass __pyx_v_retclass;	
          ^	
/home/ankit/my folder/qr code/.buildozer/android/platform/python-for-android-new-toolchain/pythonforandroid/tools/liblink.sh --sysroot /home/ankit/.buildozer/android/platform/android-ndk-r9c/platforms/android-19/arch-arm -lm -L/home/ankit/my/build/libs_collections/qrcodeexample/armeabi-v7a -L/home/ankit/my/build/libs_collections/qrcodeexample/armeabi-v7a -L/home/ankit/my/build/libs_collections/qrcodeexample -L/home/ankit/my/build/bootstrap_builds/sdl2_gradle-python2/obj/local/armeabi-v7a -DANDROID -mandroid -fomit-frame-pointer -D__ANDROID_API__=19 -I/home/ankit/.buildozer/android/platform/android-ndk-r9c/platforms/android-19/arch-arm -isysroot /home/ankit/.buildozer/android/platform/android-ndk-r9c/platforms/android-19/arch-arm -I/home/ankit/my/build/python-installs/qrcodeexample/include/python2.7 -march=armv7-a -mfloat-abi=softfp -mfpu=vfp -mthumb build/temp.linux-x86_64-2.7/jnius/jnius.o -Llibs/armeabi-v7a -L/home/ankit/my/build/other_builds/python2/armeabi-v7a/python2/python-install/lib -lSDL2 -llog -lpython2.7 -o build/lib.linux-x86_64-2.7/jnius/jnius.so	
unable to execute /home/ankit/my: Permission denied	
error: command '/home/ankit/my' failed with exit status 1
[INFO]:    STDERR:
	
[INFO]:    COMMAND:
cd /home/ankit/my/build/other_builds/pyjnius-python2-sdl2/armeabi-v7a/pyjnius && /home/ankit/my/build/python-installs/qrcodeexample/bin/python.host setup.py build_ext -v

[WARNING]: ERROR: /home/ankit/my/build/python-installs/qrcodeexample/bin/python.host failed!
# Command failed: /usr/bin/python -m pythonforandroid.toolchain create --dist_name=qrcodeexample --bootstrap=sdl2 --requirements=kivy --arch armeabi-v7a --copy-libs --color=always --storage-dir=/home/ankit/my folder/qr code/.buildozer/android/platform/build
# 
# Buildozer failed to execute the last command
# The error might be hidden in the log above this error
# Please read the full log, and search for it before
# raising an issue with buildozer itself.
# In case of a bug report, please add a full log with log_level = 2

@tshirtman
Copy link
Member

@AnkitMArtin it seems unhappy about the spaces in your project path. please try in a path without any spaces in it.

/home/ankit/my folder/qr code/.buildozer/android/platform/python-for-android-new-toolchain/pythonforandroid/tools/liblink.sh --sysroot /home/ankit/.buildozer/android/platform/android-ndk-r9c/platforms/android-19/arch-arm -lm -L/home/ankit/my/build/libs_collections/qrcodeexample/armeabi-v7a -L/home/ankit/my/build/libs_collections/qrcodeexample/armeabi-v7a -L/home/ankit/my/build/libs_collections/qrcodeexample -L/home/ankit/my/build/bootstrap_builds/sdl2_gradle-python2/obj/local/armeabi-v7a -DANDROID -mandroid -fomit-frame-pointer -D__ANDROID_API__=19 -I/home/ankit/.buildozer/android/platform/android-ndk-r9c/platforms/android-19/arch-arm -isysroot /home/ankit/.buildozer/android/platform/android-ndk-r9c/platforms/android-19/arch-arm -I/home/ankit/my/build/python-installs/qrcodeexample/include/python2.7 -march=armv7-a -mfloat-abi=softfp -mfpu=vfp -mthumb build/temp.linux-x86_64-2.7/jnius/jnius.o -Llibs/armeabi-v7a -L/home/ankit/my/build/other_builds/python2/armeabi-v7a/python2/python-install/lib -lSDL2 -llog -lpython2.7 -o build/lib.linux-x86_64-2.7/jnius/jnius.so
unable to execute /home/ankit/my: Permission denied

this seems unrelated to this bug.

@AndreMiras
Copy link
Member

Is the initial bug report still an issue @antocuni ?
I actually use cython this way (~/.local/) for my projects and it works OK, see my Makefile.

@inclement
Copy link
Member

Closing since it works for @AndreMiras, but if this is still an issue causing problems for people then feel free to reopen.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants