PyQt6 6.7.1 wheel: wrong manylinux glibc version?
Phil Thompson
phil at riverbankcomputing.com
Wed Jul 31 11:00:03 BST 2024
These have now been moved to pypi.org.
Phil
On 27/07/2024 12:41, Phil Thompson wrote:
> I've uploaded 6.7.1-1 wheels to the local PyPI server. To add a little
> jeopardy these are built in the new environment (an Ubuntu 20.04 Intel
> container hosted (via Rosetta) on an Ubuntu 22.04 Arm virtual machine
> itself hosted on an Arm Mac Studio).
>
> There is also an updated wheel for Linux on Arm.
>
> I'll move them to pypi.org in a few days if no problems are reported.
>
> Phil
>
> On 23/07/2024 17:00, Phil Thompson wrote:
>> I think this is another case of using a too new Linux distribution to
>> build the wheel (like the problem with PyQt5). PyQt-builder sets the
>> manylinux version to 2.28 when it should really inspect the extension
>> module for GLIBC symbols. From memory 6.7.1 was built on Ubuntu 22.04
>> and v6.7.0 on 20.04.
>>
>> I'm in the process of moving from virtual machines to docker
>> containers for the Linux builds so I should be able to confirm and
>> correct this fairly easily.
>>
>> Thanks,
>> Phil
>>
>> On 23/07/2024 13:34, Holger.Joukl at LBBW.de wrote:
>>> Hi,
>>>
>>> (very very) long time no see on this list. 😉
>>>
>>> I just ran into an issue trying the latest & greatest PyQt6 version
>>> 6.7.1.
>>> Looks to me like the wheel that gets installed by pip
>>> (PyQt6-6.7.1-cp38-abi3-manylinux_2_28_x86_64.whl)
>>> doesn't fit the advertised manylinux glibc.
>>>
>>> I'm running on RHEL 8.10 using Python 3.11. While 6.7.1 errors out
>>> with a missing glibc version error,
>>> 6.7.0 works just fine.
>>>
>>> Here goes:
>>>
>>> # Cleanup PyQt & deps.
>>> 0 $ .venv/python3.11/test/bin/pip uninstall PyQt6 PyQt6-Qt6 PyQt6-sip
>>> -y
>>> Found existing installation: PyQt6 6.7.1
>>> Uninstalling PyQt6-6.7.1:
>>> Successfully uninstalled PyQt6-6.7.1
>>> Found existing installation: PyQt6-Qt6 6.7.2
>>> Uninstalling PyQt6-Qt6-6.7.2:
>>> Successfully uninstalled PyQt6-Qt6-6.7.2
>>> Found existing installation: PyQt6_sip 13.8.0
>>> Uninstalling PyQt6_sip-13.8.0:
>>> Successfully uninstalled PyQt6_sip-13.8.0
>>> 0 $ # Make sure there's no bogus stuff cached.
>>> 0 $ rm -fr ~/.cache/pip
>>>
>>> # Install PyQt 6.7.1 & run myapp with it.
>>> 0 $ .venv/python3.11/test/bin/pip install PyQt6
>>> Collecting PyQt6
>>> Downloading
>>> PyQt6-6.7.1-cp38-abi3-manylinux_2_28_x86_64.whl.metadata (2.1 kB)
>>> Collecting PyQt6-sip<14,>=13.8 (from PyQt6)
>>> Downloading
>>> PyQt6_sip-13.8.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.whl.metadata
>>> (420 bytes)
>>> Collecting PyQt6-Qt6<6.8.0,>=6.7.0 (from PyQt6)
>>> Downloading
>>> PyQt6_Qt6-6.7.2-py3-none-manylinux_2_28_x86_64.whl.metadata (534
>>> bytes)
>>> Downloading PyQt6-6.7.1-cp38-abi3-manylinux_2_28_x86_64.whl (8.2 MB)
>>> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.2/8.2 MB 1.4 MB/s eta
>>> 0:00:00
>>> Downloading PyQt6_Qt6-6.7.2-py3-none-manylinux_2_28_x86_64.whl (74.3
>>> MB)
>>> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 74.3/74.3 MB 7.1 MB/s eta
>>> 0:00:00
>>> Downloading
>>> PyQt6_sip-13.8.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.whl
>>> (293 kB)
>>> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 293.9/293.9 kB 10.1 MB/s
>>> eta 0:00:00
>>> Installing collected packages: PyQt6-Qt6, PyQt6-sip, PyQt6
>>> Successfully installed PyQt6-6.7.1 PyQt6-Qt6-6.7.2 PyQt6-sip-13.8.0
>>> 0 $ .venv/python3.11/test/bin/myapp
>>> Traceback (most recent call last):
>>> File ".venv/python3.11/test/bin/myapp", line 384, in <module>
>>> main()
>>> File ".venv/python3.11/test/bin/myapp", line 355, in main
>>> import iedit.config
>>> File "src/iedit/config.py", line 16, in <module>
>>> from qtutils.DictBuilderDialog import EnumerationColumn,
>>> FQVColumn, TextColumn
>>> File
>>> ".venv/python3.11/test/lib64/python3.11/site-packages/qtutils/DictBuilderDialog.py",
>>> line 5, in <module>
>>> from qt import QVBoxLayout, QHBoxLayout, QGridLayout
>>> File
>>> ".venv/python3.11/test/lib64/python3.11/site-packages/qt/__init__.py",
>>> line 27, in <module>
>>> from qtpy.QtGui import (
>>> File
>>> ".venv/python3.11/test/lib64/python3.11/site-packages/qtpy/QtGui.py",
>>> line 57, in <module>
>>> from PyQt6 import QtGui
>>> ImportError: /lib64/libm.so.6: version `GLIBC_2.35' not found
>>> (required by
>>> .venv/python3.11/test/lib64/python3.11/site-packages/PyQt6/QtGui.abi3.so)
>>>
>>>
>>> If I force the previous PyQt 6.7.0 version instead everything works
>>> smoothly:
>>>
>>> # Uninstall PyQt 6.7.1 & deps.
>>> 1 $ .venv/python3.11/test/bin/pip uninstall PyQt6 PyQt6-Qt6 PyQt6-sip
>>> -y
>>> Found existing installation: PyQt6 6.7.1
>>> Uninstalling PyQt6-6.7.1:
>>> Successfully uninstalled PyQt6-6.7.1
>>> Found existing installation: PyQt6-Qt6 6.7.2
>>> Uninstalling PyQt6-Qt6-6.7.2:
>>> Successfully uninstalled PyQt6-Qt6-6.7.2
>>> Found existing installation: PyQt6_sip 13.8.0
>>> Uninstalling PyQt6_sip-13.8.0:
>>> Successfully uninstalled PyQt6_sip-13.8.0
>>>
>>> # Install PyQt 6.7.0 & run myapp.
>>> 0 $ .venv/python3.11/test/bin/pip install PyQt6==6.7.0
>>> Collecting PyQt6==6.7.0
>>> Downloading
>>> PyQt6-6.7.0-1-cp38-abi3-manylinux_2_28_x86_64.whl.metadata (2.1 kB)
>>> Collecting PyQt6-sip<14,>=13.6 (from PyQt6==6.7.0)
>>> Using cached
>>> PyQt6_sip-13.8.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.whl.metadata
>>> (420 bytes)
>>> Collecting PyQt6-Qt6<6.8.0,>=6.7.0 (from PyQt6==6.7.0)
>>> Using cached
>>> PyQt6_Qt6-6.7.2-py3-none-manylinux_2_28_x86_64.whl.metadata (534
>>> bytes)
>>> Downloading PyQt6-6.7.0-1-cp38-abi3-manylinux_2_28_x86_64.whl (8.1
>>> MB)
>>> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.1/8.1 MB 29.7 MB/s eta
>>> 0:00:00
>>> Using cached PyQt6_Qt6-6.7.2-py3-none-manylinux_2_28_x86_64.whl (74.3
>>> MB)
>>> Using cached
>>> PyQt6_sip-13.8.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.whl
>>> (293 kB)
>>> Installing collected packages: PyQt6-Qt6, PyQt6-sip, PyQt6
>>> Successfully installed PyQt6-6.7.0 PyQt6-Qt6-6.7.2 PyQt6-sip-13.8.0
>>> 0 $ .venv/python3.11/test/bin/myapp
>>> # myapp runs successfully...
>>>
>>>
>>> Looks to me like something might be amiss with the wheel build here -
>>> the advertised manylinux_2_28
>>> should work on a glibc 2.28 system (like RHEL 8+) according to
>>> https://github.com/pypa/manylinux.
>>>
>>> Best regards,
>>> Holger
>>>
>>> (Please bear with me & ignore the lengthy corporate disclaimer
>>> usually
>>> added here, sorry...)
>>>
>>>
>>>
>>> Landesbank Baden-Wuerttemberg
>>> Anstalt des oeffentlichen Rechts
>>> Hauptsitze: Stuttgart, Karlsruhe, Mannheim, Mainz
>>> HRA 12704
>>> Amtsgericht Stuttgart
>>> HRA 4356, HRA 104 440
>>> Amtsgericht Mannheim
>>> HRA 40687
>>> Amtsgericht Mainz
>>>
>>> Die LBBW verarbeitet gemaess Erfordernissen der DSGVO Ihre
>>> personenbezogenen Daten.
>>> Informationen finden Sie unter www.lbbw.de/datenschutz.
More information about the PyQt
mailing list