Closed pedrocamargo closed 4 years ago
I'm not sure if installing with apt would fix this issue, as the dependencies do not only need to be installed, their wheels need to be built. Apparently PyQt5 switched to the manylinux2014 container recently. So I think your issue would be fixed if you use the manylinux2014 container.
I've been trying to get an option into the action to choose which manylinux container to use, but it doesn't seem possible to create an action with a variable container depending on the actions arguments: https://github.community/t5/GitHub-Actions/Expressions-in-Docker-URI/td-p/31927
So I think I'll make multiple versions/releases of the action for each of the manylinux containers. If anyone else has a better solution, suggestions are welcome!
Additionally, the manylinux containers use CentOS, which uses the yum package manager. In #2, an option to install system packages with yum will be added . However, I'm not sure if python-PyQt5 can be installed with yum.
I think the solution to your problem is to use the manylinux2014 container, which is functionality I'm planning to implement soon.
Thanks for looking into this, @RalfG . I will wait for the manylinux2014 container!!
@pedrocamargo Can you try to run the action with reference RalfG/python-wheels-manylinux-build@v0.2-manylinux2014_x86_64
? I'm curious to see if this fixes the issue!
Hey Ralf, sorry for the delay in trying this. I was up to my neck with the next release I have to do.
It actually didn;t work:
INFO:auditwheel.main_repair:Repairing aequilibrae-0.6.0-cp37-cp37m-linux_x86_64.whl usage: auditwheel [-h] [-V] [-v] command ... auditwheel: error: cannot repair "aequilibrae-0.6.0-cp37-cp37m-linux_x86_64.whl" to "manylinux1_x86_64" ABI because of the presence of too-recent versioned symbols. You'll need to compile the wheel on an older toolchain.
https://github.com/AequilibraE/aequilibrae/runs/449428075?check_suite_focus=true
Hi, no problem. I noticed in the log that you build the wheels outside of the container: https://github.com/AequilibraE/aequilibrae/runs/449428075?check_suite_focus=true#step:7:3 Then it makes sense that it still gives this error. Can you remove that step and immediately build the package with the RalfG/python-wheels-manylinux-build@v0.2-manylinux2014_x86_64 action?
Thanks for creating this action! However, at least one requirement can't be installed using pip on Linux, PyQT5.
Ideally, installation on windows is done like this:
sudo apt-get install python3-pyqt5
Would it make sense having a third parameter to the action with a list of commands to run prior to compilation?
Stack trace:
Collecting PyQt5 Downloading https://files.pythonhosted.org/packages/3a/fb/eb51731f2dc7c22d8e1a63ba88fb702727b324c635***83a32f27f73b8116/PyQt5-5.14.1.tar.gz (3.2MB) Installing build dependencies: started Installing build dependencies: finished with status 'done' Getting requirements to build wheel: started Getting requirements to build wheel: finished with status 'done' Preparing wheel metadata: started ERROR: Complete output from command /opt/_internal/cpython-3.7.6/bin/python /opt/_internal/cpython-3.7.6/lib/python3.7/site-packages/pip/_vendor/pep517/_in_process.py prepare_metadata_for_build_wheel /tmp/tmprhikcrkk: Preparing wheel metadata: finished with status 'error' ERROR: Traceback (most recent call last): File "/opt/_internal/cpython-3.7.6/lib/python3.7/site-packages/pip/_vendor/pep517/_in_process.py", line 64, in prepare_metadata_for_build_wheel hook = backend.prepare_metadata_for_build_wheel AttributeError: module 'sipbuild.api' has no attribute 'prepare_metadata_for_build_wheel'