Appimage not starting (xcb plugin error): bug report and a workaround

367 views
Skip to first unread message

­ ­

unread,
May 21, 2022, 1:50:44 PM5/21/22
to Soulseek Technical Discussion
I'm on OpenSUSE Tumbleweed and the Appimage (version 2018-1-30-64bit) is not working for me. Starting it from the terminal gives me the following error:
---
This application failed to start because it could not find or load the Qt platform plugin "xcb"
in "".

Available platform plugins are: xcb.

Reinstalling the application may fix this problem.
Aborted (core dumped)
---

Starting it with "QT_DEBUG_PLUGINS=1" gives a little bit more information:
---
QFactoryLoader::QFactoryLoader() checking directory path "/tmp/.mount_SoulseYNumb7/plugins/platforms" ...
QFactoryLoader::QFactoryLoader() looking at "/tmp/.mount_SoulseYNumb7/plugins/platforms/libqxcb.so"
Found metadata in lib /tmp/.mount_SoulseYNumb7/plugins/platforms/libqxcb.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "xcb"
        ]
    },
    "className": "QXcbIntegrationPlugin",
    "debug": false,
    "version": 329988
}


Got keys from plugin meta data ("xcb")
QFactoryLoader::QFactoryLoader() checking directory path "/tmp/.mount_SoulseYNumb7/platforms" ...
Cannot load library /tmp/.mount_SoulseYNumb7/plugins/platforms/libqxcb.so: (/lib64/libfontconfig.so.1: undefined symbol: FT_Done_MM_Var)
QLibraryPrivate::loadPlugin failed on "/tmp/.mount_SoulseYNumb7/plugins/platforms/libqxcb.so" : "Cannot load library /tmp/.mount_SoulseYNumb7/plugins/platforms/libqxcb.so: (/lib64/libfontconfig.so.1: undefined symbol: FT_Done_MM_Var)"
This application failed to start because it could not find or load the Qt platform plugin "xcb"
in "".

Available platform plugins are: xcb.

Reinstalling the application may fix this problem.
Aborted (core dumped)
---

From here we can see that the problem is with a fontconfig library. The workaround is using an older version of libfontconfig.so, and making the appimage use it with LD_PRELOAD. Like this: LD_PRELOAD=libfontconfig.so Soulseek.AppImage. In addition to OpenSUSE, I've seen people having this problem on Fedora.
Reply all
Reply to author
Forward
0 new messages