Electron-cash: can't start AppImage on fresh Xubuntu 19.04 - "qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found."

Created on 17 Jan 2020  路  8Comments  路  Source: Electron-Cash/Electron-Cash

Running off the Xubuntu 19.04 live USB stick:

xubuntu@xubuntu:~/Downloads$ ./Electron-Cash-4.0.12-x86_64.AppImage 
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
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.

Aborted (core dumped)

When I apt-installed system package python3-pyqt5, this error went away and AppImage started fine. I think the AppImage is missing a .so file somehow... will look into it more.

Linux packaging

Most helpful comment

I can reproduce the issue in a VM. When you install the libxkbcommon-x11-0 package it will work:

apt update && apt install libxkbcommon-x11-0

I'll see if we can include this library into the AppImage without breaking older distros.

All 8 comments

Longer dump:

xubuntu@xubuntu:~$ QT_DEBUG_PLUGINS=1 ./Electron-Cash-4.0.13-dev1-14-g6f41b0270-x86_64.AppImage 
QFactoryLoader::QFactoryLoader() checking directory path "/tmp/.mount_ElectrhVtMUP/usr/lib/python3.6/site-packages/PyQt5/Qt/plugins/platforms" ...
QFactoryLoader::QFactoryLoader() looking at "/tmp/.mount_ElectrhVtMUP/usr/lib/python3.6/site-packages/PyQt5/Qt/plugins/platforms/libqeglfs.so"
Found metadata in lib /tmp/.mount_ElectrhVtMUP/usr/lib/python3.6/site-packages/PyQt5/Qt/plugins/platforms/libqeglfs.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "eglfs"
        ]
    },
    "archreq": 0,
    "className": "QEglFSIntegrationPlugin",
    "debug": false,
    "version": 331008
}


Got keys from plugin meta data ("eglfs")
QFactoryLoader::QFactoryLoader() looking at "/tmp/.mount_ElectrhVtMUP/usr/lib/python3.6/site-packages/PyQt5/Qt/plugins/platforms/libqlinuxfb.so"
Found metadata in lib /tmp/.mount_ElectrhVtMUP/usr/lib/python3.6/site-packages/PyQt5/Qt/plugins/platforms/libqlinuxfb.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "linuxfb"
        ]
    },
    "archreq": 0,
    "className": "QLinuxFbIntegrationPlugin",
    "debug": false,
    "version": 331008
}


Got keys from plugin meta data ("linuxfb")
QFactoryLoader::QFactoryLoader() looking at "/tmp/.mount_ElectrhVtMUP/usr/lib/python3.6/site-packages/PyQt5/Qt/plugins/platforms/libqminimal.so"
Found metadata in lib /tmp/.mount_ElectrhVtMUP/usr/lib/python3.6/site-packages/PyQt5/Qt/plugins/platforms/libqminimal.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "minimal"
        ]
    },
    "archreq": 0,
    "className": "QMinimalIntegrationPlugin",
    "debug": false,
    "version": 331008
}


Got keys from plugin meta data ("minimal")
QFactoryLoader::QFactoryLoader() looking at "/tmp/.mount_ElectrhVtMUP/usr/lib/python3.6/site-packages/PyQt5/Qt/plugins/platforms/libqminimalegl.so"
Found metadata in lib /tmp/.mount_ElectrhVtMUP/usr/lib/python3.6/site-packages/PyQt5/Qt/plugins/platforms/libqminimalegl.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "minimalegl"
        ]
    },
    "archreq": 0,
    "className": "QMinimalEglIntegrationPlugin",
    "debug": false,
    "version": 331008
}


Got keys from plugin meta data ("minimalegl")
QFactoryLoader::QFactoryLoader() looking at "/tmp/.mount_ElectrhVtMUP/usr/lib/python3.6/site-packages/PyQt5/Qt/plugins/platforms/libqoffscreen.so"
Found metadata in lib /tmp/.mount_ElectrhVtMUP/usr/lib/python3.6/site-packages/PyQt5/Qt/plugins/platforms/libqoffscreen.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "offscreen"
        ]
    },
    "archreq": 0,
    "className": "QOffscreenIntegrationPlugin",
    "debug": false,
    "version": 331008
}


Got keys from plugin meta data ("offscreen")
QFactoryLoader::QFactoryLoader() looking at "/tmp/.mount_ElectrhVtMUP/usr/lib/python3.6/site-packages/PyQt5/Qt/plugins/platforms/libqvnc.so"
Found metadata in lib /tmp/.mount_ElectrhVtMUP/usr/lib/python3.6/site-packages/PyQt5/Qt/plugins/platforms/libqvnc.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "vnc"
        ]
    },
    "archreq": 0,
    "className": "QVncIntegrationPlugin",
    "debug": false,
    "version": 331008
}


Got keys from plugin meta data ("vnc")
QFactoryLoader::QFactoryLoader() looking at "/tmp/.mount_ElectrhVtMUP/usr/lib/python3.6/site-packages/PyQt5/Qt/plugins/platforms/libqwayland-egl.so"
Found metadata in lib /tmp/.mount_ElectrhVtMUP/usr/lib/python3.6/site-packages/PyQt5/Qt/plugins/platforms/libqwayland-egl.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "wayland-egl"
        ]
    },
    "archreq": 0,
    "className": "QWaylandEglPlatformIntegrationPlugin",
    "debug": false,
    "version": 331008
}


Got keys from plugin meta data ("wayland-egl")
QFactoryLoader::QFactoryLoader() looking at "/tmp/.mount_ElectrhVtMUP/usr/lib/python3.6/site-packages/PyQt5/Qt/plugins/platforms/libqwayland-generic.so"
Found metadata in lib /tmp/.mount_ElectrhVtMUP/usr/lib/python3.6/site-packages/PyQt5/Qt/plugins/platforms/libqwayland-generic.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "wayland"
        ]
    },
    "archreq": 0,
    "className": "QWaylandIntegrationPlugin",
    "debug": false,
    "version": 331008
}


Got keys from plugin meta data ("wayland")
QFactoryLoader::QFactoryLoader() looking at "/tmp/.mount_ElectrhVtMUP/usr/lib/python3.6/site-packages/PyQt5/Qt/plugins/platforms/libqwayland-xcomposite-egl.so"
Found metadata in lib /tmp/.mount_ElectrhVtMUP/usr/lib/python3.6/site-packages/PyQt5/Qt/plugins/platforms/libqwayland-xcomposite-egl.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "wayland-xcomposite-egl"
        ]
    },
    "archreq": 0,
    "className": "QWaylandXCompositeEglPlatformIntegrationPlugin",
    "debug": false,
    "version": 331008
}


Got keys from plugin meta data ("wayland-xcomposite-egl")
QFactoryLoader::QFactoryLoader() looking at "/tmp/.mount_ElectrhVtMUP/usr/lib/python3.6/site-packages/PyQt5/Qt/plugins/platforms/libqwayland-xcomposite-glx.so"
Found metadata in lib /tmp/.mount_ElectrhVtMUP/usr/lib/python3.6/site-packages/PyQt5/Qt/plugins/platforms/libqwayland-xcomposite-glx.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "wayland-xcomposite-glx"
        ]
    },
    "archreq": 0,
    "className": "QWaylandXCompositeGlxPlatformIntegrationPlugin",
    "debug": false,
    "version": 331008
}


Got keys from plugin meta data ("wayland-xcomposite-glx")
QFactoryLoader::QFactoryLoader() looking at "/tmp/.mount_ElectrhVtMUP/usr/lib/python3.6/site-packages/PyQt5/Qt/plugins/platforms/libqwebgl.so"
Found metadata in lib /tmp/.mount_ElectrhVtMUP/usr/lib/python3.6/site-packages/PyQt5/Qt/plugins/platforms/libqwebgl.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "webgl"
        ]
    },
    "archreq": 0,
    "className": "QWebGLIntegrationPlugin",
    "debug": false,
    "version": 331008
}


Got keys from plugin meta data ("webgl")
QFactoryLoader::QFactoryLoader() looking at "/tmp/.mount_ElectrhVtMUP/usr/lib/python3.6/site-packages/PyQt5/Qt/plugins/platforms/libqxcb.so"
Found metadata in lib /tmp/.mount_ElectrhVtMUP/usr/lib/python3.6/site-packages/PyQt5/Qt/plugins/platforms/libqxcb.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "xcb"
        ]
    },
    "archreq": 0,
    "className": "QXcbIntegrationPlugin",
    "debug": false,
    "version": 331008
}


Got keys from plugin meta data ("xcb")
QFactoryLoader::QFactoryLoader() checking directory path "/tmp/.mount_ElectrhVtMUP/usr/bin/platforms" ...
Cannot load library /tmp/.mount_ElectrhVtMUP/usr/lib/python3.6/site-packages/PyQt5/Qt/plugins/platforms/libqxcb.so: (libxkbcommon-x11.so.0: cannot open shared object file: No such file or directory)
QLibraryPrivate::loadPlugin failed on "/tmp/.mount_ElectrhVtMUP/usr/lib/python3.6/site-packages/PyQt5/Qt/plugins/platforms/libqxcb.so" : "Cannot load library /tmp/.mount_ElectrhVtMUP/usr/lib/python3.6/site-packages/PyQt5/Qt/plugins/platforms/libqxcb.so: (libxkbcommon-x11.so.0: cannot open shared object file: No such file or directory)"
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
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.

Aborted (core dumped)

"libxkbcommon-x11.so.0: cannot open shared object file: No such file or directory"

Hmm, not sure why this isn't picked up during AppImage build. It is not on the exclude list:

https://github.com/AppImage/pkg2appimage/blob/master/excludelist

Maybe it gets loaded via dlopen by libqxcb.so

I can reproduce the issue in a VM. When you install the libxkbcommon-x11-0 package it will work:

apt update && apt install libxkbcommon-x11-0

I'll see if we can include this library into the AppImage without breaking older distros.

Oh man I love you @EchterAgo .. that would be awesome. 鉂わ笍

Fixed in master branch.

W00! Thanks Axel! :D

(also cherry-picked over to cashfusion branch just now)

Was this page helpful?
0 / 5 - 0 ratings

Related issues

EchterAgo picture EchterAgo  路  6Comments

imaginaryusername picture imaginaryusername  路  5Comments

molecular picture molecular  路  5Comments

ProfessorVenkman picture ProfessorVenkman  路  5Comments

EchterAgo picture EchterAgo  路  4Comments