Failing to create appimage due to qt plugin internal failures (on Github CI runners).
For reference: https://github.com/contour-terminal/contour/actions/runs/3123684418/jobs/5066504531
I'm rather new to AppImage, please bare with me. But to me this looks like multiple issues?
[qt/stdout] Deploying shared library /usr/lib/x86_64-linux-gnu/qt5/plugins/xcbglintegrations/libqxcb-egl-integration.so (destination: /home/runner/work/contour/contour/build/AppDir/usr/plugins/xcbglintegrations/)
[qt/stderr] terminate called after throwing an instance of 'boost::filesystem::filesystem_error'
[qt/stderr] what(): [qt/stdout] Deploying copyright files for file /usr/lib/x86_64-linux-gnu/qt5/plugins/xcbglintegrations/libqxcb-egl-integration.so
[qt/stdout] Deploying dependencies for ELF file /usr/lib/x86_64-linux-gnu/qt5/plugins/xcbglintegrations/libqxcb-egl-integration.so
And also further down:
[qt/stdout] DEBUG: File has been visited already: /lib/x86_64-linux-gnu/libdbus-1.so.3
[qt/stdout] DEBUboost::filesystem::directory_iterator::construct: No such file or directory: "/usr/lib/x86_64-linux-gnu/qt5/plugins/mediaservice"
G: File has been visited already: /usr/lib/x86_64-linux-gnu/libXext.so.6
Then finally ending the process by saying ERROR: Failed to run plugin: qt (exit code: 6).
I am not sure what exactly exit code 6 means nor which of the messages above is relevant for fixing it. Also, note, that on my local system using Docker I have got the AppImage to be created via Ubuntu 22.04 and Ubuntu 18.04, and Fedora natively. But I am failing on the Github Actions CI. On that Github Actions CI I sadly must use Ubuntu 18.04 runner due to backwards compatibility (glibc isn't backaged so it seems?), I am not sure what exactly the diff of that Github hosted 18.04 runner is and a stock ubuntu 18.04 docker image that might have caused this.
The mediaservice plugin issue is fixed by linuxdeploy/linuxdeploy#115, which still needs to be merged.
Not sure what's up with the copyright files of libqxcb-egl-integration.so.
I suppose this is related to linuxdeploy/linuxdeploy-plugin-qt#128.
Hey guys. Do we have any updates here? Looks like the links @bjorn as well as @TheAssassin have mentioned are both merged now. What does this make to the state of this issue here?
I just tried to rerun this, as I am trying to finally deploy my Qt application as an AppImage, and it still seems to fail with the following excerpt:
[qt/stdout] DEBUG: File has been visited already: /usr/lib/x86_64-linux-gnu/libgpg-error.so.0
[qt/stdout] Deploying shared library /usr/lib/x86_64-linux-gnu/qt5/plugins/xcbglintegrations/libqxcb-egl-integration.so (destination: /home/runner/work/contour/contour/build/AppDir/usr/plugins/xcbglintegrations/)
[qt/stderr] terminate called after throwing an instance of 'std::filesystem::__cxx11::filesystem_error'
[qt/stderr] what(): filesystem error: directory iterator cannot open directory: No such file or directory [/usr/lib/x86_64-linux-gnu/qt5/plugins/mediaservice]
[qt/stdout] Deploying copyright files for file /usr/lib/x86_64-linux-gnu/qt5/plugins/xcbglintegrations/libqxcb-egl-integration.so
[qt/stdout] Deploying dependencies for ELF file /usr/lib/x86_64-linux-gnu/qt5/plugins/xcbglintegrations/libqxcb-egl-integration.so
But since I am downloading the ...continuous...-URL to fetch AppImage linuxdeploy-tool as well as its qt-plugin, I must presume the bug still isn't fixed. Unless I am doing something terribly wrong.
@christianparpart I think I linked the wrong issue up there, and actually meant to refer to https://github.com/linuxdeploy/linuxdeploy-plugin-qt/pull/115. However, that was actually specific to Qt 6, so it would of course not address that issue for Qt 5.
For Qt 5, I think you just need to make sure that the mediaservice plugins are installed on your system. On Ubuntu, this means installing libqt5multimedia5-plugins.
I think that's a good idea. Arguably, the error message could be improved. But in general, the tool should always fail if it can't find required files. Better than creating a half-broken deployment.
No response in the meantime. Closing for now. Please reopen and/or comment if the issue persists.