-
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
.pxd files of dependency targeted recipe'd library not found #1473
Comments
Are recipe dependencies properly added to the site-packages paths before the respective next recipe is built/its setup.py is run? Are they available in the follow up recipe's setup.py virtualenv at all (including the Cythonizing virtualenv, if that's not the same one for p4a), not just at runtime later? Because they would really need to be, otherwise it's no surprise this breaks. If this is the reason that'd be bad, because that makes any more performant |
By the way as stated in chat, if this just involves fixing the path in p4a or something else along the lines, I'd be willing to make a pull request for this myself to help out. So if there are any suggestions on how to get this to work nicely, I'm all ears! Edit: and one suggestion that was already made: modifying |
Just to record the insights from chat, I checked the python-for-android code.
In overall the main problem seems to be that it manually runs Cython at all, when really the I'll see if I can dig into the code and fix this |
This issue will be resolved at least for projects which have a CythonRecipe purely to indicate Cython use (with no special options or patches for p4a needed) with this pull request: #1483 which makes CythonRecipes simply unnecessary for these projects, enabling proper regular However, it will still be broken for projects using CythonRecipe. Not sure if it's worth fixing that, it'd need quite some changes on how that works. Better to motivate affected external projects to make using a recipe unnecessary in the first place, I would think. Probably not many who do cross-project |
Since using no CythonRecipe is an option now and that makes it work fine, this can probably be considered fixed sufficiently regarding the actual relevance in practice (as in it's still broken with CythonRecipe but with the other approach available it's probably not going to be an unsolvable issue for most people) |
Description
It seems that when having two Cython libraries in the dependencies (both with a CythonRecipe with no special options) and one
cimport
s things from the other (therefore requiring its.pxd
files), something incorrect in python-for-android's Cython setup will break locating any of the.pxd
files. I'm just getting errors like'wobblui/cache.pxd' not found
,'wobblui/font/manager.pxd' not found
, ... for all such "external" pxd files.On desktop, the build works perfectly fine, even when installing the dependency target with the
.pxd
files remotely usingpip3 install https://github.com/JonasT/wobblui/archive/master.zip
- which should be how python-for-android fetches and installs it as well. I confirmed withupdatedb && locate
that the.pxd
files are indeed installed, including in the python-for-android build environment. Just for some reason, Cython inside the python-for-android build doesn't "see" them.TL;DR:
.pxd
s of Cython dependency target libs aren't found. Breaks build, not good 😢Versions
buildozer.spec
not used
The text was updated successfully, but these errors were encountered: