-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
[Help Required] qemu 8.1-rc1 requires Python venv and pip #8009
Comments
What exactly is the problem here and what need to get fixed/investigated? |
I created a draft pr - it does seem to cross compile the .so files of simplejson, pycryptodone and Pillow as aarch64 when using a target of A64. To experience the issue first hand - cherry pick f9eb28c and try scripts/build qemu:host the changes to the cross-compile and setuptools/pip may/probably have other unforeseen items to be worked through. I tried a number of different ways to create a “bootstrap” pyvenv including ensurepip - with limited/no/inconsistent results - and configured qemu to use this…. This draft pr at least is producing consistent results when building
If you had a better way - that would be great. Otherwise if this is the right track … would be good to understand why the 85a018611be9a28e87ff5af2e6fd4d4fdbcd50c5 workaround is currently necessary. there is also the #7361 to be addressed |
Output of .so files (build host is x86_64)
|
For those 3 python calls in a row: if you remove patch file https://github.com/LibreELEC/LibreELEC.tv/blob/aec466da8aaf5f79b8f18b8474d0a6e6fbaf5127/packages/lang/Python3/patches/Python3-0300-generate-legacy-pyc-bytecode.patch then python:host builds with just one call. |
d8ddcfad154d453dca2c30554b49c4904e9a47ae does indeed allow the successful compile. The does it work right is still the ultimate question :-) |
Looks like not because at least my Generic legacy image doesn't really work with pr 8016. |
Backing out the move of the bytecode patch to target only and reintroduction of ensurepip * 3 returns my LE back to a working state. Looks like we need to fix the builds of the target pyc (by the host Python3) to match the required bytecode in target + drop the patch in the host build - https://peps.python.org/pep-3147/#case-4-legacy-pyc-files-and-source-less-imports |
Putting a ENV controlled use of the patch seems to have addressed this - 8d9376694898b699a2bb34b8cca54291399c49c3 - I’m now using a cleanly built LE with the updated 8016 on Generic nuc12.
|
Pr complete. Closing |
|
Describe the bug
Build of qemu is failing due to need to pip and vent for python
need a better solution than “downloading” during build.
need help from someone more familiar with python build environment.
To Reproduce
Steps to reproduce the behavior:
build.LibreELEC-Generic.x86_64-12.0-devel/toolchain/bin/python3 -m ensurepip --default-pip
to fix problem oneqemu-8.1.0-rc1/.x86_64-linux-gnu/pyvenv/bin/meson: not found
Informations
Log file
Additional context
diff for the change to qemu-8.0rc1
this patch gets past (3) problem 2. But there must be a better way to do this.
The text was updated successfully, but these errors were encountered: