kivy / python-for-android

Turn your Python application into an Android APK
https://python-for-android.readthedocs.io
MIT License
8.33k stars 1.84k forks source link

Build continue despites libffi.la compilation failing. #1737

Open tshirtman opened 5 years ago

tshirtman commented 5 years ago

Versions

Description

Because autogen was missing, libffi.la was failing to build, but that didn't the full build for going through, so it was confusing to understand why _ctypes wasn't available, and rebuilding would have no effect because python was considered successfully built, had to nuke .buildozer/android/platform and build everything again.

aranc commented 5 years ago

Hi, are you refering to these error messages?

dlopen("/data/data/<package name>/files/app/lib/python2.7/lib-dynload/_io.so", RTLD_LAZY) failed: dlopen failed: library "/data/data/<package name>.timetrack/files/app/lib/python2.7/lib-dynload/_io.so" not found

dlopen("/data/data/<package name>/files/app/lib/python2.7/lib-dynload/_ctypes.so", RTLD_LAZY) failed: dlopen failed: library "/data/data/<package name>.timetrack/files/app/lib/python2.7/lib-dynload/_ctypes.so" not found

When I'm starting a Kivy app on Android, the app crash after seeing the splash screen and these messages appear in logcat.

I also see an error when compiling libffi.la, but I see a message that it's expected to not compile:

Makefile:1176: recipe for target 'libffi.la' failed
make: *** [libffi.la] Error 1

  STDERR:

[INFO]:    make libffi.la failed as expected

I also see some Verbose level messages about failure to load "libpython2.7.so", "libpython3.5m.so", etc. (Library loading error: dalvik.system.PathClassLoader[DexPathList[[zip file...)

I installed autogen and removed .buildozer/android/platform but the issue remained (still can't load _ctypes.so / Android app crash on start).

tshirtman commented 5 years ago

yes, cython recipes are always expected to fail first, but to work just after (in the same build), i think in this case i had both failing, and rebuilding after install libffi-dev worked as expected, didn't try to reproduce though.

And also yes, the result was a message indicating inability to load _ctypes.so, but i didn't keep a copy of the error.