Qt plugin could not load, undefined symbol: _ZN23QPlatformVulkanInstance22presentAboutToBeQueuedEP7QWindow
-
Hi!
I am trying to run a Python module (ete3) that relies on Qt. It gives me this error:
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem. Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, webgl, xcb.
Digging a bit deeper with QT_DEBUG_PLUGINS enabled, I get this error:
Cannot load library /r1/people/Jonas_P/.conda/envs/playground/lib/python3.9/site-packages/PyQt5/Qt5/plugins/platforms/libqxcb.so: (/r1/people/Jonas_P/.conda/envs/playground/lib/python3.9/site-packages/PyQt5/Qt5/plugins/platforms/../../lib/libQt5XcbQpa.so.5: undefined symbol: _ZN23QPlatformVulkanInstance22presentAboutToBeQueuedEP7QWindow, version Qt_5_PRIVATE_API) QLibraryPrivate::loadPlugin failed on "/r1/people/Jonas_P/.conda/envs/playground/lib/python3.9/site-packages/PyQt5/Qt5/plugins/platforms/libqxcb.so" : "Cannot load library /r1/people/Jonas_P/.conda/envs/playground/lib/python3.9/site-packages/PyQt5/Qt5/plugins/platforms/libqxcb.so: (/r1/people/Jonas_P/.conda/envs/playground/lib/python3.9/site-packages/PyQt5/Qt5/plugins/platforms/../../lib/libQt5XcbQpa.so.5: undefined symbol: _ZN23QPlatformVulkanInstance22presentAboutToBeQueuedEP7QWindow, version Qt_5_PRIVATE_API)"
I have tried uninstalled any version of pyqt I could find. Reinstalling pyqt with anaconda or pyqt5 with pip did not result in any changes.
Unfortunately, I am on a HPC so I do not have root to install anything outside of my conda env.
Does anyone have a solution for me?
-
Hi, don't know if this helps, but that class QPlatformVulkanInstance was introduced in Qt 5.10. Maybe you have a version of Qt older than that...
-
A Former Userreplied to hskoglund on 12 Apr 2023, 08:45 last edited by A Former User 4 Dec 2023, 08:51
@hskoglund
Thanks for the hint. I checked the version that is installed in my conda env and the oldest version seems to be 5.15.2. So I don't think that's the issue.pyqt 5.15.7 py39h6a678d5_1 pyqt5 5.15.9 pypi_0 pypi pyqt5-qt5 5.15.2 pypi_0 pypi pyqt5-sip 12.12.0 pypi_0 pypi qt 5.15.9 h06a4308_0 qt-main 5.15.2 h8373d8f_8 qt-webengine 5.15.9 hbbf29b9_6
-
Hi, googled a bit:
the function presentAboutToBeQueued() appeared first in Qt 5.15. This is what you have, but maybe you need to try your default/system Qt packages (for a perhaps more complete libQt5XcbQpa.so.5) similar to what they discuss here:
https://bbs.archlinux.org/viewtopic.php?id=247030 -
I fixed it, not by using my system's qt (I don't think there is an easy way to do that with conda) but by downgrading my pyqt5 installation to the latest one that was released when the python module that depends on it (ete3) was released.
For future reference:
pip install --upgrade pyqt5==5.15.0
Thanks to all who helped.
1/5