Qt in RHEL8 container
-
Hello, I am struggling to create a Qt application in a RHEL8.8 container. The Qt application runs perfectly fine, and with
QT_DEBUG_PLUGINS=1
I was unable to find any errors, but text does not appear on QComboBoxes. The code runs fine outside the container.To make things work, I needed to run:
export LD_LIBRARY_PATH=/opt/conda/envs/spyder/lib/
export QT_PLUGIN_PATH=/opt/conda/envs/spyder/plugins/
Here is my
QT_DEBUG_PLUGINS=1
:[root@6c6932dc392d code]# python qt.py QFactoryLoader::QFactoryLoader() checking directory path "/opt/conda/envs/spyder/plugins/platforms" ... QFactoryLoader::QFactoryLoader() looking at "/opt/conda/envs/spyder/plugins/platforms/libqeglfs.so" Found metadata in lib /opt/conda/envs/spyder/plugins/platforms/libqeglfs.so, metadata= { "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3", "MetaData": { "Keys": [ "eglfs" ] }, "archreq": 0, "className": "QEglFSIntegrationPlugin", "debug": false, "version": 331520 } Got keys from plugin meta data ("eglfs") QFactoryLoader::QFactoryLoader() looking at "/opt/conda/envs/spyder/plugins/platforms/libqminimal.so" Found metadata in lib /opt/conda/envs/spyder/plugins/platforms/libqminimal.so, metadata= { "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3", "MetaData": { "Keys": [ "minimal" ] }, "archreq": 0, "className": "QMinimalIntegrationPlugin", "debug": false, "version": 331520 } Got keys from plugin meta data ("minimal") QFactoryLoader::QFactoryLoader() looking at "/opt/conda/envs/spyder/plugins/platforms/libqminimalegl.so" Found metadata in lib /opt/conda/envs/spyder/plugins/platforms/libqminimalegl.so, metadata= { "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3", "MetaData": { "Keys": [ "minimalegl" ] }, "archreq": 0, "className": "QMinimalEglIntegrationPlugin", "debug": false, "version": 331520 } Got keys from plugin meta data ("minimalegl") QFactoryLoader::QFactoryLoader() looking at "/opt/conda/envs/spyder/plugins/platforms/libqoffscreen.so" Found metadata in lib /opt/conda/envs/spyder/plugins/platforms/libqoffscreen.so, metadata= { "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3", "MetaData": { "Keys": [ "offscreen" ] }, "archreq": 0, "className": "QOffscreenIntegrationPlugin", "debug": false, "version": 331520 } Got keys from plugin meta data ("offscreen") QFactoryLoader::QFactoryLoader() looking at "/opt/conda/envs/spyder/plugins/platforms/libqvnc.so" Found metadata in lib /opt/conda/envs/spyder/plugins/platforms/libqvnc.so, metadata= { "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3", "MetaData": { "Keys": [ "vnc" ] }, "archreq": 0, "className": "QVncIntegrationPlugin", "debug": false, "version": 331520 } Got keys from plugin meta data ("vnc") QFactoryLoader::QFactoryLoader() looking at "/opt/conda/envs/spyder/plugins/platforms/libqwebgl.so" Found metadata in lib /opt/conda/envs/spyder/plugins/platforms/libqwebgl.so, metadata= { "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3", "MetaData": { "Keys": [ "webgl" ] }, "archreq": 0, "className": "QWebGLIntegrationPlugin", "debug": false, "version": 331520 } Got keys from plugin meta data ("webgl") QFactoryLoader::QFactoryLoader() looking at "/opt/conda/envs/spyder/plugins/platforms/libqxcb.so" Found metadata in lib /opt/conda/envs/spyder/plugins/platforms/libqxcb.so, metadata= { "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3", "MetaData": { "Keys": [ "xcb" ] }, "archreq": 0, "className": "QXcbIntegrationPlugin", "debug": false, "version": 331520 } Got keys from plugin meta data ("xcb") QFactoryLoader::QFactoryLoader() checking directory path "/opt/conda/envs/spyder/bin/platforms" ... loaded library "/opt/conda/envs/spyder/plugins/platforms/libqxcb.so" Cannot load library Xcursor: (Xcursor: cannot open shared object file: No such file or directory) Cannot load library Xcursor: (Xcursor: cannot open shared object file: No such file or directory) QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root' QFactoryLoader::QFactoryLoader() checking directory path "/opt/conda/envs/spyder/plugins/platformthemes" ... QFactoryLoader::QFactoryLoader() looking at "/opt/conda/envs/spyder/plugins/platformthemes/libqxdgdesktopportal.so" Found metadata in lib /opt/conda/envs/spyder/plugins/platformthemes/libqxdgdesktopportal.so, metadata= { "IID": "org.qt-project.Qt.QPA.QPlatformThemeFactoryInterface.5.1", "MetaData": { "Keys": [ "xdgdesktopportal", "flatpak", "snap" ] }, "archreq": 0, "className": "QXdgDesktopPortalThemePlugin", "debug": false, "version": 331520 } Got keys from plugin meta data ("xdgdesktopportal", "flatpak", "snap") QFactoryLoader::QFactoryLoader() checking directory path "/opt/conda/envs/spyder/bin/platformthemes" ... QFactoryLoader::QFactoryLoader() checking directory path "/opt/conda/envs/spyder/plugins/platforminputcontexts" ... QFactoryLoader::QFactoryLoader() looking at "/opt/conda/envs/spyder/plugins/platforminputcontexts/libcomposeplatforminputcontextplugin.so" Found metadata in lib /opt/conda/envs/spyder/plugins/platforminputcontexts/libcomposeplatforminputcontextplugin.so, metadata= { "IID": "org.qt-project.Qt.QPlatformInputContextFactoryInterface.5.1", "MetaData": { "Keys": [ "compose", "xim" ] }, "archreq": 0, "className": "QComposePlatformInputContextPlugin", "debug": false, "version": 331520 } Got keys from plugin meta data ("compose", "xim") QFactoryLoader::QFactoryLoader() looking at "/opt/conda/envs/spyder/plugins/platforminputcontexts/libibusplatforminputcontextplugin.so" Found metadata in lib /opt/conda/envs/spyder/plugins/platforminputcontexts/libibusplatforminputcontextplugin.so, metadata= { "IID": "org.qt-project.Qt.QPlatformInputContextFactoryInterface.5.1", "MetaData": { "Keys": [ "ibus" ] }, "archreq": 0, "className": "QIbusPlatformInputContextPlugin", "debug": false, "version": 331520 } Got keys from plugin meta data ("ibus") QFactoryLoader::QFactoryLoader() looking at "/opt/conda/envs/spyder/plugins/platforminputcontexts/libqtvirtualkeyboardplugin.so" Found metadata in lib /opt/conda/envs/spyder/plugins/platforminputcontexts/libqtvirtualkeyboardplugin.so, metadata= { "IID": "org.qt-project.Qt.QPlatformInputContextFactoryInterface.5.1", "MetaData": { "Keys": [ "qtvirtualkeyboard" ] }, "archreq": 0, "className": "QVirtualKeyboardPlugin", "debug": false, "version": 331520 } Got keys from plugin meta data ("qtvirtualkeyboard") QFactoryLoader::QFactoryLoader() checking directory path "/opt/conda/envs/spyder/bin/platforminputcontexts" ... loaded library "/opt/conda/envs/spyder/plugins/platforminputcontexts/libcomposeplatforminputcontextplugin.so" QFactoryLoader::QFactoryLoader() checking directory path "/opt/conda/envs/spyder/plugins/styles" ... QFactoryLoader::QFactoryLoader() checking directory path "/opt/conda/envs/spyder/bin/styles" ... QFactoryLoader::QFactoryLoader() checking directory path "/opt/conda/envs/spyder/plugins/xcbglintegrations" ... QFactoryLoader::QFactoryLoader() looking at "/opt/conda/envs/spyder/plugins/xcbglintegrations/libqxcb-egl-integration.so" Found metadata in lib /opt/conda/envs/spyder/plugins/xcbglintegrations/libqxcb-egl-integration.so, metadata= { "IID": "org.qt-project.Qt.QPA.Xcb.QXcbGlIntegrationFactoryInterface.5.5", "MetaData": { "Keys": [ "xcb_egl" ] }, "archreq": 0, "className": "QXcbEglIntegrationPlugin", "debug": false, "version": 331520 } Got keys from plugin meta data ("xcb_egl") QFactoryLoader::QFactoryLoader() looking at "/opt/conda/envs/spyder/plugins/xcbglintegrations/libqxcb-glx-integration.so" Found metadata in lib /opt/conda/envs/spyder/plugins/xcbglintegrations/libqxcb-glx-integration.so, metadata= { "IID": "org.qt-project.Qt.QPA.Xcb.QXcbGlIntegrationFactoryInterface.5.5", "MetaData": { "Keys": [ "xcb_glx" ] }, "archreq": 0, "className": "QXcbGlxIntegrationPlugin", "debug": false, "version": 331520 } Got keys from plugin meta data ("xcb_glx") QFactoryLoader::QFactoryLoader() checking directory path "/opt/conda/envs/spyder/bin/xcbglintegrations" ... loaded library "/opt/conda/envs/spyder/plugins/xcbglintegrations/libqxcb-glx-integration.so"
Here is the output of
ldd libqxcb.so
:[root@6c6932dc392d opt]# ldd /opt/conda/envs/spyder/plugins/platforms/libqxcb.so linux-vdso.so.1 (0x00007fff6d185000) libQt5XcbQpa.so.5 => /opt/conda/envs/spyder/plugins/platforms/../../lib/libQt5XcbQpa.so.5 (0x00007f96b69f9000) libfontconfig.so.1 => /opt/conda/envs/spyder/plugins/platforms/../../lib/libfontconfig.so.1 (0x00007f96b69ac000) libfreetype.so.6 => /opt/conda/envs/spyder/plugins/platforms/../../lib/libfreetype.so.6 (0x00007f96b6827000) libz.so.1 => /opt/conda/envs/spyder/plugins/platforms/../../lib/libz.so.1 (0x00007f96b6992000) libQt5Gui.so.5 => /opt/conda/envs/spyder/plugins/platforms/../../lib/libQt5Gui.so.5 (0x00007f96b6000000) libQt5DBus.so.5 => /opt/conda/envs/spyder/plugins/platforms/../../lib/libQt5DBus.so.5 (0x00007f96b6798000) libQt5Core.so.5 => /opt/conda/envs/spyder/plugins/platforms/../../lib/libQt5Core.so.5 (0x00007f96b5800000) libGL.so.1 => /lib64/libGL.so.1 (0x00007f96b557a000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f96b535a000) libX11-xcb.so.1 => /opt/conda/envs/spyder/plugins/platforms/../../lib/libX11-xcb.so.1 (0x00007f96b6988000) libxcb-icccm.so.4 => /opt/conda/envs/spyder/plugins/platforms/../../lib/libxcb-icccm.so.4 (0x00007f96b6981000) libxcb-image.so.0 => /opt/conda/envs/spyder/plugins/platforms/../../lib/libxcb-image.so.0 (0x00007f96b6978000) libxcb-shm.so.0 => /opt/conda/envs/spyder/plugins/platforms/../../lib/libxcb-shm.so.0 (0x00007f96b6973000) libxcb-keysyms.so.1 => /opt/conda/envs/spyder/plugins/platforms/../../lib/libxcb-keysyms.so.1 (0x00007f96b696e000) libxcb-randr.so.0 => /opt/conda/envs/spyder/plugins/platforms/../../lib/libxcb-randr.so.0 (0x00007f96b695b000) libxcb-render-util.so.0 => /opt/conda/envs/spyder/plugins/platforms/../../lib/libxcb-render-util.so.0 (0x00007f96b6955000) libxcb-render.so.0 => /opt/conda/envs/spyder/plugins/platforms/../../lib/libxcb-render.so.0 (0x00007f96b6945000) libxcb-shape.so.0 => /opt/conda/envs/spyder/plugins/platforms/../../lib/libxcb-shape.so.0 (0x00007f96b693d000) libxcb-sync.so.1 => /opt/conda/envs/spyder/plugins/platforms/../../lib/libxcb-sync.so.1 (0x00007f96b6933000) libxcb-xfixes.so.0 => /opt/conda/envs/spyder/plugins/platforms/../../lib/libxcb-xfixes.so.0 (0x00007f96b6928000) libxcb-xinerama.so.0 => /opt/conda/envs/spyder/plugins/platforms/../../lib/libxcb-xinerama.so.0 (0x00007f96b6922000) libxcb-xkb.so.1 => /opt/conda/envs/spyder/plugins/platforms/../../lib/libxcb-xkb.so.1 (0x00007f96b6778000) libxcb-xinput.so.0 => /opt/conda/envs/spyder/plugins/platforms/../../lib/libxcb-xinput.so.0 (0x00007f96b6752000) libxcb.so.1 => /opt/conda/envs/spyder/plugins/platforms/../../lib/libxcb.so.1 (0x00007f96b6726000) libXext.so.6 => /opt/conda/envs/spyder/plugins/platforms/../../lib/libXext.so.6 (0x00007f96b6711000) libX11.so.6 => /opt/conda/envs/spyder/plugins/platforms/../../lib/libX11.so.6 (0x00007f96b5ebb000) libSM.so.6 => /opt/conda/envs/spyder/plugins/platforms/../../lib/libSM.so.6 (0x00007f96b6915000) libICE.so.6 => /opt/conda/envs/spyder/plugins/platforms/../../lib/libICE.so.6 (0x00007f96b66f3000) libxkbcommon-x11.so.0 => /opt/conda/envs/spyder/plugins/platforms/../../lib/libxkbcommon-x11.so.0 (0x00007f96b66ea000) libxkbcommon.so.0 => /opt/conda/envs/spyder/plugins/platforms/../../lib/libxkbcommon.so.0 (0x00007f96b66a4000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f96b5156000) libstdc++.so.6 => /opt/conda/envs/spyder/plugins/platforms/../../lib/libstdc++.so.6 (0x00007f96b4fa2000) libm.so.6 => /lib64/libm.so.6 (0x00007f96b4c20000) libgcc_s.so.1 => /opt/conda/envs/spyder/plugins/platforms/../../lib/libgcc_s.so.1 (0x00007f96b668b000) libc.so.6 => /lib64/libc.so.6 (0x00007f96b485b000) libgthread-2.0.so.0 => /opt/conda/envs/spyder/plugins/platforms/../../lib/./libgthread-2.0.so.0 (0x00007f96b6686000) libglib-2.0.so.0 => /opt/conda/envs/spyder/plugins/platforms/../../lib/./libglib-2.0.so.0 (0x00007f96b4712000) libexpat.so.1 => /opt/conda/envs/spyder/plugins/platforms/../../lib/./libexpat.so.1 (0x00007f96b5e8c000) libpng16.so.16 => /opt/conda/envs/spyder/plugins/platforms/../../lib/./libpng16.so.16 (0x00007f96b5e4f000) libharfbuzz.so.0 => /opt/conda/envs/spyder/plugins/platforms/../../lib/./libharfbuzz.so.0 (0x00007f96b45ff000) libdbus-1.so.3 => /opt/conda/envs/spyder/plugins/platforms/../../lib/./libdbus-1.so.3 (0x00007f96b45aa000) libicui18n.so.72 => /opt/conda/envs/spyder/plugins/platforms/../../lib/./libicui18n.so.72 (0x00007f96b4200000) libicuuc.so.72 => /opt/conda/envs/spyder/plugins/platforms/../../lib/./libicuuc.so.72 (0x00007f96b3e00000) libicudata.so.72 => /opt/conda/envs/spyder/plugins/platforms/../../lib/./libicudata.so.72 (0x00007f96b2000000) libzstd.so.1 => /opt/conda/envs/spyder/plugins/platforms/../../lib/./libzstd.so.1 (0x00007f96b40f0000) /lib64/ld-linux-x86-64.so.2 (0x00007f96b68e0000) libGLX.so.0 => /lib64/libGLX.so.0 (0x00007f96b1dce000) libGLdispatch.so.0 => /lib64/libGLdispatch.so.0 (0x00007f96b1b18000) libxcb-util.so.1 => /opt/conda/envs/spyder/plugins/platforms/../../lib/./libxcb-util.so.1 (0x00007f96b667c000) libXau.so.6 => /opt/conda/envs/spyder/plugins/platforms/../../lib/./libXau.so.6 (0x00007f96b6677000) libXdmcp.so.6 => /opt/conda/envs/spyder/plugins/platforms/../../lib/./libXdmcp.so.6 (0x00007f96b666f000) libuuid.so.1 => /opt/conda/envs/spyder/plugins/platforms/../../lib/./libuuid.so.1 (0x00007f96b6664000) libiconv.so.2 => /opt/conda/envs/spyder/plugins/platforms/../../lib/././libiconv.so.2 (0x00007f96b4009000) libpcre2-8.so.0 => /opt/conda/envs/spyder/plugins/platforms/../../lib/././libpcre2-8.so.0 (0x00007f96b1a78000) librt.so.1 => /lib64/librt.so.1 (0x00007f96b1870000) libgraphite2.so.3 => /opt/conda/envs/spyder/plugins/platforms/../../lib/././libgraphite2.so.3 (0x00007f96b5e24000)
The libraries seem to be loaded properly. The GUI appears (the following is the code):
from PyQt5.QtWidgets import QComboBox, QMainWindow, QApplication, QWidget, QVBoxLayout import sys class MainWindow(QMainWindow): def __init__(self): super().__init__() combobox1 = QComboBox() combobox1.addItem('One') combobox1.addItem('Two') layout = QVBoxLayout() layout.addWidget(combobox1) container = QWidget() container.setLayout(layout) self.setCentralWidget(container) app = QApplication(sys.argv) w = MainWindow() w.show() app.exec_()
The following is the GUI that appears outside the container (running Debian 12):
The following is the GUI that appears inside the container (RHEL8.8):
The text on buttons disappear. The errors I receive when hovering my mouse over the QComboBox are:
Fontconfig error: Cannot load default config file: No such file: (null) QFactoryLoader::QFactoryLoader() checking directory path "/opt/conda/envs/spyder/plugins/accessible" ... QFactoryLoader::QFactoryLoader() checking directory path "/opt/conda/envs/spyder/bin/accessible" ... QFont::setPointSizeF: Point size <= 0 (-0.750000), must be greater than 0 QFont::setPointSizeF: Point size <= 0 (-0.750000), must be greater than 0 QFont::setPointSizeF: Point size <= 0 (-0.750000), must be greater than 0 QFont::setPointSizeF: Point size <= 0 (-0.750000), must be greater than 0 ...
From my initial searching, I am under the impression that, although the libraries are all present, possibly the version is incorrect, giving wrong symbols. I do not know how to check that. For finality, here is my
strace
log: https://pastebin.com/7aM05e4m -
Before the comment occurs, I saw libXcursor was missing and downloaded it, though this did not solve the issue:
[root@c731a9c3add0 code]# QT_DEBUG_PLUGINS=1 python qt.py QFactoryLoader::QFactoryLoader() checking directory path "/opt/conda/envs/spyder/plugins/platforms" ... QFactoryLoader::QFactoryLoader() looking at "/opt/conda/envs/spyder/plugins/platforms/libqeglfs.so" Found metadata in lib /opt/conda/envs/spyder/plugins/platforms/libqeglfs.so, metadata= { "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3", "MetaData": { "Keys": [ "eglfs" ] }, "archreq": 0, "className": "QEglFSIntegrationPlugin", "debug": false, "version": 331520 } Got keys from plugin meta data ("eglfs") QFactoryLoader::QFactoryLoader() looking at "/opt/conda/envs/spyder/plugins/platforms/libqminimal.so" Found metadata in lib /opt/conda/envs/spyder/plugins/platforms/libqminimal.so, metadata= { "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3", "MetaData": { "Keys": [ "minimal" ] }, "archreq": 0, "className": "QMinimalIntegrationPlugin", "debug": false, "version": 331520 } Got keys from plugin meta data ("minimal") QFactoryLoader::QFactoryLoader() looking at "/opt/conda/envs/spyder/plugins/platforms/libqminimalegl.so" Found metadata in lib /opt/conda/envs/spyder/plugins/platforms/libqminimalegl.so, metadata= { "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3", "MetaData": { "Keys": [ "minimalegl" ] }, "archreq": 0, "className": "QMinimalEglIntegrationPlugin", "debug": false, "version": 331520 } Got keys from plugin meta data ("minimalegl") QFactoryLoader::QFactoryLoader() looking at "/opt/conda/envs/spyder/plugins/platforms/libqoffscreen.so" Found metadata in lib /opt/conda/envs/spyder/plugins/platforms/libqoffscreen.so, metadata= { "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3", "MetaData": { "Keys": [ "offscreen" ] }, "archreq": 0, "className": "QOffscreenIntegrationPlugin", "debug": false, "version": 331520 } Got keys from plugin meta data ("offscreen") QFactoryLoader::QFactoryLoader() looking at "/opt/conda/envs/spyder/plugins/platforms/libqvnc.so" Found metadata in lib /opt/conda/envs/spyder/plugins/platforms/libqvnc.so, metadata= { "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3", "MetaData": { "Keys": [ "vnc" ] }, "archreq": 0, "className": "QVncIntegrationPlugin", "debug": false, "version": 331520 } Got keys from plugin meta data ("vnc") QFactoryLoader::QFactoryLoader() looking at "/opt/conda/envs/spyder/plugins/platforms/libqwebgl.so" Found metadata in lib /opt/conda/envs/spyder/plugins/platforms/libqwebgl.so, metadata= { "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3", "MetaData": { "Keys": [ "webgl" ] }, "archreq": 0, "className": "QWebGLIntegrationPlugin", "debug": false, "version": 331520 } Got keys from plugin meta data ("webgl") QFactoryLoader::QFactoryLoader() looking at "/opt/conda/envs/spyder/plugins/platforms/libqxcb.so" Found metadata in lib /opt/conda/envs/spyder/plugins/platforms/libqxcb.so, metadata= { "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3", "MetaData": { "Keys": [ "xcb" ] }, "archreq": 0, "className": "QXcbIntegrationPlugin", "debug": false, "version": 331520 } Got keys from plugin meta data ("xcb") QFactoryLoader::QFactoryLoader() checking directory path "/opt/conda/envs/spyder/bin/platforms" ... loaded library "/opt/conda/envs/spyder/plugins/platforms/libqxcb.so" loaded library "Xcursor" QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root' QFactoryLoader::QFactoryLoader() checking directory path "/opt/conda/envs/spyder/plugins/platformthemes" ... QFactoryLoader::QFactoryLoader() looking at "/opt/conda/envs/spyder/plugins/platformthemes/libqxdgdesktopportal.so" Found metadata in lib /opt/conda/envs/spyder/plugins/platformthemes/libqxdgdesktopportal.so, metadata= { "IID": "org.qt-project.Qt.QPA.QPlatformThemeFactoryInterface.5.1", "MetaData": { "Keys": [ "xdgdesktopportal", "flatpak", "snap" ] }, "archreq": 0, "className": "QXdgDesktopPortalThemePlugin", "debug": false, "version": 331520 } Got keys from plugin meta data ("xdgdesktopportal", "flatpak", "snap") QFactoryLoader::QFactoryLoader() checking directory path "/opt/conda/envs/spyder/bin/platformthemes" ... QFactoryLoader::QFactoryLoader() checking directory path "/opt/conda/envs/spyder/plugins/platforminputcontexts" ... QFactoryLoader::QFactoryLoader() looking at "/opt/conda/envs/spyder/plugins/platforminputcontexts/libcomposeplatforminputcontextplugin.so" Found metadata in lib /opt/conda/envs/spyder/plugins/platforminputcontexts/libcomposeplatforminputcontextplugin.so, metadata= { "IID": "org.qt-project.Qt.QPlatformInputContextFactoryInterface.5.1", "MetaData": { "Keys": [ "compose", "xim" ] }, "archreq": 0, "className": "QComposePlatformInputContextPlugin", "debug": false, "version": 331520 } Got keys from plugin meta data ("compose", "xim") QFactoryLoader::QFactoryLoader() looking at "/opt/conda/envs/spyder/plugins/platforminputcontexts/libibusplatforminputcontextplugin.so" Found metadata in lib /opt/conda/envs/spyder/plugins/platforminputcontexts/libibusplatforminputcontextplugin.so, metadata= { "IID": "org.qt-project.Qt.QPlatformInputContextFactoryInterface.5.1", "MetaData": { "Keys": [ "ibus" ] }, "archreq": 0, "className": "QIbusPlatformInputContextPlugin", "debug": false, "version": 331520 } Got keys from plugin meta data ("ibus") QFactoryLoader::QFactoryLoader() looking at "/opt/conda/envs/spyder/plugins/platforminputcontexts/libqtvirtualkeyboardplugin.so" Found metadata in lib /opt/conda/envs/spyder/plugins/platforminputcontexts/libqtvirtualkeyboardplugin.so, metadata= { "IID": "org.qt-project.Qt.QPlatformInputContextFactoryInterface.5.1", "MetaData": { "Keys": [ "qtvirtualkeyboard" ] }, "archreq": 0, "className": "QVirtualKeyboardPlugin", "debug": false, "version": 331520 } Got keys from plugin meta data ("qtvirtualkeyboard") QFactoryLoader::QFactoryLoader() checking directory path "/opt/conda/envs/spyder/bin/platforminputcontexts" ... loaded library "/opt/conda/envs/spyder/plugins/platforminputcontexts/libcomposeplatforminputcontextplugin.so" QFactoryLoader::QFactoryLoader() checking directory path "/opt/conda/envs/spyder/plugins/styles" ... QFactoryLoader::QFactoryLoader() checking directory path "/opt/conda/envs/spyder/bin/styles" ... QFactoryLoader::QFactoryLoader() checking directory path "/opt/conda/envs/spyder/plugins/xcbglintegrations" ... QFactoryLoader::QFactoryLoader() looking at "/opt/conda/envs/spyder/plugins/xcbglintegrations/libqxcb-egl-integration.so" Found metadata in lib /opt/conda/envs/spyder/plugins/xcbglintegrations/libqxcb-egl-integration.so, metadata= { "IID": "org.qt-project.Qt.QPA.Xcb.QXcbGlIntegrationFactoryInterface.5.5", "MetaData": { "Keys": [ "xcb_egl" ] }, "archreq": 0, "className": "QXcbEglIntegrationPlugin", "debug": false, "version": 331520 } Got keys from plugin meta data ("xcb_egl") QFactoryLoader::QFactoryLoader() looking at "/opt/conda/envs/spyder/plugins/xcbglintegrations/libqxcb-glx-integration.so" Found metadata in lib /opt/conda/envs/spyder/plugins/xcbglintegrations/libqxcb-glx-integration.so, metadata= { "IID": "org.qt-project.Qt.QPA.Xcb.QXcbGlIntegrationFactoryInterface.5.5", "MetaData": { "Keys": [ "xcb_glx" ] }, "archreq": 0, "className": "QXcbGlxIntegrationPlugin", "debug": false, "version": 331520 } Got keys from plugin meta data ("xcb_glx") QFactoryLoader::QFactoryLoader() checking directory path "/opt/conda/envs/spyder/bin/xcbglintegrations" ... loaded library "/opt/conda/envs/spyder/plugins/xcbglintegrations/libqxcb-glx-integration.so" libGL error: MESA-LOADER: failed to open swrast: /usr/lib64/dri/swrast_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib64/dri, suffix _dri) libGL error: failed to load driver: swrast Fontconfig error: Cannot load default config file: No such file: (null) QFactoryLoader::QFactoryLoader() checking directory path "/opt/conda/envs/spyder/plugins/accessible" ... QFactoryLoader::QFactoryLoader() checking directory path "/opt/conda/envs/spyder/bin/accessible" ... QFont::setPointSizeF: Point size <= 0 (-0.750000), must be greater than 0 QFont::setPointSizeF: Point size <= 0 (-0.750000), must be greater than 0 QFont::setPointSizeF: Point size <= 0 (-0.750000), must be greater than 0 QFont::setPointSizeF: Point size <= 0 (-0.750000), must be greater than 0 QFont::setPointSizeF: Point size <= 0 (-0.750000), must be greater than 0 QFont::setPointSizeF: Point size <= 0 (-0.750000), must be greater than 0 QFont::setPointSizeF: Point size <= 0 (-0.750000), must be greater than 0 QFont::setPointSizeF: Point size <= 0 (-0.750000), must be greater than 0 QLibraryPrivate::unload succeeded on "/opt/conda/envs/spyder/plugins/xcbglintegrations/libqxcb-glx-integration.so" QLibraryPrivate::unload succeeded on "/opt/conda/envs/spyder/plugins/platforminputcontexts/libcomposeplatforminputcontextplugin.so" QLibraryPrivate::unload succeeded on "/opt/conda/envs/spyder/plugins/platforms/libqxcb.so" QLibraryPrivate::unload succeeded on "Xcursor" (faked)
For comparison, the same exact
QT_DEBUG_PLUGINS
output occurs inside the container (text not rendering) and outside the container (text rendering) once the paths are corrected, e.g.,/opt/conda/envs/spyder/
are changed to/home/steven/.conda/envs/spyder/
. -
Hello,
I asked around on some IRC channels, and we were able to conclude that I didn't have fonts installed on my container, which was making me not render my text. This solved my issue. I'm curious as to why there was no warnings, but PyQt5 may have eaten up those warnings or errors.
For those wanting a solution, in your
docker-compose.yaml
file, add in:volume: - /usr/share/fonts/:/usr/share/fonts
Or inside the
docker run
command, add the flag-v /usr/share/fonts/:/usr/share/fonts
. -