PyQt6 6.7.1 wheel: wrong manylinux glibc version?

Holger.Joukl at LBBW.de Holger.Joukl at LBBW.de
Tue Jul 23 13:34:05 BST 2024


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