PyQt6 6.7.1 wheel: wrong manylinux glibc version?
Grzegorz Bokota
g.bokota at mimuw.edu.pl
Wed Jul 24 11:54:38 BST 2024
Yes, but auditwheel examines all binaries and check if they are fit
requested manylinux tag. So you could use it to fail if wheel requires more
modern glibc than comes from tag.
I also do not know if glibc has such flags. All time when I compile wheel I
use docker images for this.
Grzegorz
wt., 23 lip 2024 o 18:49 Phil Thompson <phil at riverbankcomputing.com>
napisał(a):
> 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.
> >>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.riverbankcomputing.com/pipermail/pyqt/attachments/20240724/1af88e84/attachment-0001.htm>
More information about the PyQt
mailing list