-
Notifications
You must be signed in to change notification settings - Fork 44
Open
Description
Hi,
first of all, thank you a lot for your project! I am packaging my project with Qt5 for years now using your tools and it always worked flawlessly.
I am currently trying to package sayonara with Qt 6.8 and I am facing some problems. Creating the AppImage works like a charm, no issues here.
Build AppImage without --library
export EXTRA_PLATFORM_PLUGINS="libqwayland-generic.so"
export EXTRA_QT_MODULES="waylandcompositor"
linuxdeploy-x86_64.AppImage \
--plugin=qt \
--appdir=AppDir \
--custom-apprun=AppRun \
--desktop-file=com.sayonara-player.Sayonara.desktop
appimagetool-x86_64.AppImage AppDir
Output
Running sayonara fails with the following error message though.
QT_DEBUG_PLUGINS=1 ./sayonara-1.11.0-stable1-gabcabc12.AppImage
qt.core.plugin.factoryloader: checking directory path "/tmp/.mount_sayonaIlkh3c/usr/plugins/platforms" ...
qt.core.plugin.factoryloader: looking at "libqwayland-generic.so"
qt.core.plugin.loader: Failed to find metadata in lib /tmp/.mount_sayonaIlkh3c/usr/plugins/platforms/libqwayland-generic.so: '/tmp/.mount_sayonaIlkh3c/usr/plugins/platforms/libqwayland-generic.so' is not a Qt plugin (metadata not found)
qt.core.plugin.factoryloader: "Failed to extract plugin meta data from '/tmp/.mount_sayonaIlkh3c/usr/plugins/platforms/libqwayland-generic.so': '/tmp/.mount_sayonaIlkh3c/usr/plugins/platforms/libqwayland-generic.so' is not a Qt plugin (metadata not found)"
not a plugin
qt.core.plugin.factoryloader: looking at "libqxcb.so"
qt.core.plugin.loader: Failed to find metadata in lib /tmp/.mount_sayonaIlkh3c/usr/plugins/platforms/libqxcb.so: '/tmp/.mount_sayonaIlkh3c/usr/plugins/platforms/libqxcb.so' is not a Qt plugin (metadata not found)
qt.core.plugin.factoryloader: "Failed to extract plugin meta data from '/tmp/.mount_sayonaIlkh3c/usr/plugins/platforms/libqxcb.so': '/tmp/.mount_sayonaIlkh3c/usr/plugins/platforms/libqxcb.so' is not a Qt plugin (metadata not found)"
not a plugin
qt.core.plugin.factoryloader: checking directory path "/tmp/.mount_sayonaIlkh3c/usr/bin/platforms" ...
qt.qpa.plugin: Could not find the Qt platform plugin "wayland" in ""
qt.qpa.plugin: Could not find the Qt platform plugin "xcb" in ""
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
Aborted (core dumped) QT_DEBUG_PLUGINS=1 ./sayonara-1.11.0-stable1-gabcabc12.AppImage
Workaround with --library
But when I add two --library
parameters and build it like this, it seems to work (ignore the sql error ;)
linuxdeploy-x86_64.AppImage \
...
--library=${QT_BASE_DIR}/plugins/platforms/libqwayland-generic.so \
--library=${QT_BASE_DIR}/plugins/platforms/libqxcb.so
cp ${SAYONARA_DIR}/build/AppDir/usr/lib/libqwayland-generic.so ${SAYONARA_DIR}/build/AppDir/usr/plugins/platforms/
cp ${SAYONARA_DIR}/build/AppDir/usr/lib/libqxcb.so ${SAYONARA_DIR}/build/AppDir/usr/plugins/platforms/
appimagetool-x86_64.AppImage AppDir
Output
QT_DEBUG_PLUGINS=1 ./sayonara-1.11.0-stable1-gabcabc12.AppImage
[23:12:13] : InstanceChecker: Check for another instance...
qt.core.plugin.factoryloader: checking directory path "/tmp/.mount_sayonaZ6PYNA/usr/plugins/platforms" ...
qt.core.plugin.factoryloader: looking at "libqwayland-generic.so"
qt.core.plugin.loader: Found metadata in lib /tmp/.mount_sayonaZ6PYNA/usr/plugins/platforms/libqwayland-generic.so, metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
"MetaData": {
"Keys": [
"wayland"
]
},
"archlevel": 1,
"className": "QWaylandIntegrationPlugin",
"debug": false,
"version": 395264
}
qt.core.plugin.factoryloader: Got keys from plugin meta data QList("wayland")
qt.core.plugin.factoryloader: looking at "libqxcb.so"
qt.core.plugin.loader: Found metadata in lib /tmp/.mount_sayonaZ6PYNA/usr/plugins/platforms/libqxcb.so, metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
"MetaData": {
"Keys": [
"xcb"
]
},
"archlevel": 1,
"className": "QXcbIntegrationPlugin",
"debug": false,
"version": 395264
}
qt.core.plugin.factoryloader: Got keys from plugin meta data QList("xcb")
qt.core.plugin.factoryloader: checking directory path "/tmp/.mount_sayonaZ6PYNA/usr/bin/platforms" ...
qt.core.library: "/tmp/.mount_sayonaZ6PYNA/usr/plugins/platforms/libqwayland-generic.so" cannot load: Cannot load library /tmp/.mount_sayonaZ6PYNA/usr/plugins/platforms/libqwayland-generic.so: /tmp/.mount_sayonaZ6PYNA/usr/lib/libQt6WaylandClient.so.6: undefined symbol: wl_proxy_marshal_flags
qt.core.plugin.loader: QLibraryPrivate::loadPlugin failed on "/tmp/.mount_sayonaZ6PYNA/usr/plugins/platforms/libqwayland-generic.so" : "Cannot load library /tmp/.mount_sayonaZ6PYNA/usr/plugins/platforms/libqwayland-generic.so: /tmp/.mount_sayonaZ6PYNA/usr/lib/libQt6WaylandClient.so.6: undefined symbol: wl_proxy_marshal_flags"
qt.qpa.plugin: Could not load the Qt platform plugin "wayland" in "" even though it was found.
qt.core.library: "/tmp/.mount_sayonaZ6PYNA/usr/plugins/platforms/libqxcb.so" loaded library
qt.core.plugin.factoryloader: checking directory path "/tmp/.mount_sayonaZ6PYNA/usr/plugins/platformthemes" ...
qt.core.plugin.factoryloader: looking at "libqxdgdesktopportal.so"
qt.core.plugin.loader: Found metadata in lib /tmp/.mount_sayonaZ6PYNA/usr/plugins/platformthemes/libqxdgdesktopportal.so, metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformThemeFactoryInterface.5.1",
"MetaData": {
"Keys": [
"xdgdesktopportal",
"flatpak",
"snap"
]
},
"archlevel": 1,
"className": "QXdgDesktopPortalThemePlugin",
"debug": false,
"version": 395264
}
qt.core.plugin.factoryloader: Got keys from plugin meta data QList("xdgdesktopportal", "flatpak", "snap")
qt.core.plugin.factoryloader: checking directory path "/tmp/.mount_sayonaZ6PYNA/usr/bin/platformthemes" ...
qt.core.plugin.factoryloader: checking directory path "/tmp/.mount_sayonaZ6PYNA/usr/plugins/platforminputcontexts" ...
qt.core.plugin.factoryloader: looking at "libcomposeplatforminputcontextplugin.so"
qt.core.plugin.loader: Failed to find metadata in lib /tmp/.mount_sayonaZ6PYNA/usr/plugins/platforminputcontexts/libcomposeplatforminputcontextplugin.so: '/tmp/.mount_sayonaZ6PYNA/usr/plugins/platforminputcontexts/libcomposeplatforminputcontextplugin.so' is not a Qt plugin (metadata not found)
qt.core.plugin.factoryloader: "Failed to extract plugin meta data from '/tmp/.mount_sayonaZ6PYNA/usr/plugins/platforminputcontexts/libcomposeplatforminputcontextplugin.so': '/tmp/.mount_sayonaZ6PYNA/usr/plugins/platforminputcontexts/libcomposeplatforminputcontextplugin.so' is not a Qt plugin (metadata not found)"
not a plugin
qt.core.plugin.factoryloader: looking at "libibusplatforminputcontextplugin.so"
qt.core.plugin.loader: Failed to find metadata in lib /tmp/.mount_sayonaZ6PYNA/usr/plugins/platforminputcontexts/libibusplatforminputcontextplugin.so: '/tmp/.mount_sayonaZ6PYNA/usr/plugins/platforminputcontexts/libibusplatforminputcontextplugin.so' is not a Qt plugin (metadata not found)
qt.core.plugin.factoryloader: "Failed to extract plugin meta data from '/tmp/.mount_sayonaZ6PYNA/usr/plugins/platforminputcontexts/libibusplatforminputcontextplugin.so': '/tmp/.mount_sayonaZ6PYNA/usr/plugins/platforminputcontexts/libibusplatforminputcontextplugin.so' is not a Qt plugin (metadata not found)"
not a plugin
qt.core.plugin.factoryloader: checking directory path "/tmp/.mount_sayonaZ6PYNA/usr/bin/platforminputcontexts" ...
qt.core.plugin.factoryloader: checking directory path "/tmp/.mount_sayonaZ6PYNA/usr/plugins/styles" ...
qt.core.plugin.factoryloader: checking directory path "/tmp/.mount_sayonaZ6PYNA/usr/bin/styles" ...
qt.core.plugin.factoryloader: checking directory path "/tmp/.mount_sayonaZ6PYNA/usr/plugins/sqldrivers" ...
qt.core.plugin.factoryloader: looking at "libqsqlite.so"
qt.core.plugin.loader: Failed to find metadata in lib /tmp/.mount_sayonaZ6PYNA/usr/plugins/sqldrivers/libqsqlite.so: '/tmp/.mount_sayonaZ6PYNA/usr/plugins/sqldrivers/libqsqlite.so' is not a Qt plugin (metadata not found)
qt.core.plugin.factoryloader: "Failed to extract plugin meta data from '/tmp/.mount_sayonaZ6PYNA/usr/plugins/sqldrivers/libqsqlite.so': '/tmp/.mount_sayonaZ6PYNA/usr/plugins/sqldrivers/libqsqlite.so' is not a Qt plugin (metadata not found)"
not a plugin
qt.core.plugin.factoryloader: checking directory path "/tmp/.mount_sayonaZ6PYNA/usr/bin/sqldrivers" ...
I attached the file tree as well for the non-working version. Thank you a lot in advance.
Michael
Metadata
Metadata
Assignees
Labels
No labels