-
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
python3 + openssl compilation fail #1590
Comments
Ei, @AndreMiras, I remember that I read a long time ago (I don't know where...I tried to find in p4a docs...unsuccessfully...still may be there...) that
I always use that order...can you try it with this?
I think that this should work, even so maybe we have to take a look at what you propose plus this problem it may happen also with libffi and sqlite3 (our current python dependencies) or properly document that the requirements needs the order I mention...if I'm right about that...which I'm not sure... Anyone can confirm/refuse something about the order of the requirements? |
Thanks for your feedback! As for the order thingy I didn't know that one. |
So I couldn't reproduce in a Docker environment.
then:
And deleting |
We discussed this here #1576 but I think This could be achieved e.g. by renaming |
(Sorry, I forgot to add the reason: I think it should do that because on desktop you can't specify python standard modules as extra dependency either, so if we move closer to pip/standard dependency mechanisms/... which I suggest we do in the long term, then requiring standard library parts to be listed explicitly in this extra list moves us away from that goal, and on top of things is counter-intuitive for beginners) |
@AndreMiras wrong order won't stop the build, but the Edit: or let's say, will not necessarily stop the build. so what you see up there could be something else, maybe messed up order + no openssl headers on the host trigger this or some other more unusual combination. nevertheless, the build succeeding doesn't mean the wrong order hasn't caused a problem |
As a general note, python-for-android should not require any special ordering of the requirements, as long as the dependencies are specified correctly in the recipes it should always construct a good build order. It's clear that this doesn't always happen for some reason, but I'm not clear what causes this or how to reproduce it. |
Does anyone have a reproducible test case to look at for the openssl ordering thing? I've tried a few, but can't get p4a to try to build openssl after python3. |
On further examination of the |
Closing as this is quite possibly fixed by #1617, please reopen or make a new issue if it turns out it does still happen. |
Versions
Description
Compilation is failing if
python3
andopenssl
are both in the recipe list, butpython3
gets compiled firstCommand:
# Command failed: /usr/bin/python3 -m pythonforandroid.toolchain create --dist_name=etheroll --bootstrap=sdl2 --requirements=android,cffi,openssl,python3==3.7.1 --ndk-api 27 --arch armeabi-v7a --copy-libs --local-recipes /home/andre/workspace/EtherollApp/src/python-for-android/recipes --color=always --storage-dir="/home/andre/workspace/EtherollApp/.buildozer/android/platform/build" --ndk-api=27
Logs
Console log:
Relevant .buildozer/android/platform/build/build/other_builds/python3-libffi-openssl/armeabi-v7a__ndk_target_27/python3/android-build/config.log part:
And listing the directory
.buildozer/android/platform/build/build/other_builds/openssl-python3/armeabi-v7a__ndk_target_27/openssl1.1
I couldn't indeed find the shared libssl and libcrypto objects.This is because
python3
was compiled beforeopenssl
was.The fix should be fairly simple, basically in python3 recipe we need to dynamically add
openssl
to thedepends
list if theopenssl
recipe is present in the requirements listThe text was updated successfully, but these errors were encountered: