to work around https://github.com/kivy/python-for-android/issues/1866 : > PyCryptodome >=3.6.0 crashes at runtime (since commitf5aa2c1618). So actually the currently pinned version in the recipe does not work: >80e4f059c1/pythonforandroid/recipes/pycryptodome/__init__.py (L5)> > The issue at runtime is with ctypes. > > > Say I have a main script that just does the following (95ccce7ae8/lib/Crypto/Util/_raw_api.py (L200)): > ``` > import ctypes > ctypes.pythonapi.PyObject_GetBuffer > ``` > > This works with cpython on my laptop, but with the p4a-compiled python on Android it fails: > > ``` > 06-14 19:06:27.053 15246 15274 I python : Android kivy bootstrap done. __name__ is __main__ > 06-14 19:06:27.053 15246 15274 I python : AND: Ran string > 06-14 19:06:27.053 15246 15274 I python : Run user program, change dir and execute entrypoint > 06-14 19:06:27.092 15246 15274 I python : Traceback (most recent call last): > 06-14 19:06:27.092 15246 15274 I python : File "/home/user/wspace/electrum/.buildozer/android/app/main.py", line 84, in <module> > 06-14 19:06:27.093 15246 15274 I python : File "/home/user/wspace/electrum/.buildozer/android/platform/build/build/other_builds/python3-libffi-openssl-sqlite3/armeabi-v7a__ndk_target_21/python3/Lib/ctypes/__init__.py", line 369, in __getattr__ > 06-14 19:06:27.093 15246 15274 I python : File "/home/user/wspace/electrum/.buildozer/android/platform/build/build/other_builds/python3-libffi-openssl-sqlite3/armeabi-v7a__ndk_target_21/python3/Lib/ctypes/__init__.py", line 374, in __getitem__ > 06-14 19:06:27.094 15246 15274 I python : AttributeError: undefined symbol: PyObject_GetBuffer > ``` > > I have also tried to access some other attributes of `ctypes.pythonapi`, such as `Py_IncRef`, which raises the same exception. --- Unclear if the issue still affects newer p4a: upstream seems to think it's fixed, but there multiple comments in the thread saying otherwise. Anyway, rebasing p4a has other blockers atm.
25 KiB
Executable File
25 KiB
Executable File