-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
Discussion: should the default recipe set for python3 unconditionally include libffi to build ctypes? What about sqlite3 and other core modules? #1576
Comments
Adding a point to the discussion: I also find it a bit non-intuitive that sqlite3 needs a separate recipe that I need to specify. Wouldn't a mechanism be better where all standard modules that we can build with (including IMHO python isn't really suitable for tiny apps anyway, so I can't speak for everyone else but my app is already so large (50MB) that having or not having sqlite3 or openssl really won't make much of a difference. However, it makes a big difference for anyone coming from desktop to python-for-android and suddenly finding core modules unexpectedly missing |
Another point: if we move away from |
Yeah, I really think libffi, openssl, and sqlite3 should be included in the build. If space is an issue, someone should make a "tinypython" recipe to remove it. |
I think the real bug right now is that order is critical in the |
I like the idea of having two different recipes, a |
The alternate approach would be to have a recipe blacklist option. But I think I like |
I tried to build all the user modules for python3, kivy. Of course a successful The following dependencies are required in addition to those for a simple .py build I use python-for-android (master, installed 1/12/2019) The following modules successfully build an apk:
BUT, of these, the following fail with error ".. _ctypes..""
Which confirms that order can be important. The following do not build because they have no dependency on 'python3', but
The following does not build because of a dependency I can't identify: The following do not build because they have a dependency on 'kivy' ! The following does not build because: The following does not build because of cmake errors The following does not build because (seems strange): The following does not build because has dependency on 'incremental', 'constantly' The following does not build because NDK v18 needed |
@Ham-Merhead was this supposed to go here by any chance? #1514 |
Do we know what is the actual size increase if including sqlite3 and openssl? Both the extracted size, and for the apk itself? |
|
This has now been changed on latest git master accordingly:
|
I understand that not including libffi and ctypes brings down file size, but given it's such a basic component of so many other libs and recipes (which often use it to interface with native code), I wonder if maybe it should be made part of the built-in default recipe set and always included?
Because this error isn't super intuitive for beginners, and not something one would expect for a built-in module:
Edit: cffi -> libffi
The text was updated successfully, but these errors were encountered: