PyQt6 6.7.1 wheel: wrong manylinux glibc version?
Phil Thompson
phil at riverbankcomputing.com
Tue Jul 23 17:49:32 BST 2024
On 23/07/2024 17:28, Grzegorz Bokota wrote:
> Did use auditwheel https://pypi.org/project/auditwheel/ will not allow
> to
> solve/early detect such problems? Based on my experience, it thoroughly
> checks required glibc version against wheel tag.
>
> Regards,
> Grzegorz Bokota
I use auditwheel for the sip module wheels but not for the PyQt wheels.
The real problem isn't the incorrect manylinux tag, it's that the module
requires (for no good reason) a newer glibc.
I don't know if gcc has a flag which says compile for a particular
version of glibc (both macOS and Windows do have something similar).
Phil
> wt., 23 lip 2024 o 18:00 Phil Thompson <phil at riverbankcomputing.com>
> napisał(a):
>
>> 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