I packaged a Slicer using the latest nightly and Ubuntu 18.04, gcc 7.5.0, and Qt 5.15.0, and when unpacking and executing it, Slicer fails to start due to an error .../Slicer-4.11.0-2020-08-26-linux-amd64/bin/SlicerApp-real: error while loading shared libraries: libQt5QmlModels.so.5: cannot open shared object file: No such file or directory
When I manually copy the files libQt5QmlModels.so.* to the package, it works without problems.
There is some uncertainty about using Qt on Linux (see what I posted about it few days ago). Also note that the factory builds still use an older Qt (5.11.2).
So I have two questions:
Does anyone has an idea how to make sure the missing files are included in the package?
Are there plans updating the Linux build to 5.15.0? The build instructions (Qt 5.9.5), the actual version used by the factory (5.11.2), and the long-term Slicer plans (5.15.0) don’t seem to match.
The Linux build was updated to Qt 5.15 for a short period when the other platforms were being updated. However there were those errors as you explained above and there wasn’t any more effort in resolving those. You can read about the issues in https://github.com/Slicer/SlicerBuildEnvironment/issues/15
Thanks @jamesobutler for the summary! Looking at the topics it seems two different problems. I only encountered one of them. I’ll take a look at the packaging issue in case I find a good solution.
Addittionally, at the kapteyn they built a working version of SlicerAstroApp on centos 7 (https://www.astro.rug.nl/~slicerastro/) with Qt5.15.0 (I’ll ask all the building info later on and I’ll report), but then users on pretty old linux flavours got this at startup (as for the packing os information, I’ll write the os information asap):
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: xcb.
@vdhulst if you have the packing os info of centos 7, can you post them? thanks!
It would be nice to have the Qt5.15.0 version. However, we didn’t manage to make a fully working Qt5.15.0 version on all the linux flavours and os versions. Although it was working on the majority of them, the recent ones at least, on old linux os you can have issues with libxcb-xinerama0 and also require an hack for packing krb5-libs. The configuration is:
centos 7.8
cmake 3.17.1
gcc 5.3.1 (Red Hat 5.3.1-6 from devtoolset 4)
qt 5.15.0
I didn’t ckecked. I should have done. But we had no issue in running the app (however, I did’t check either if it was using system libraries for eventual missing ones). I’ll check tomorrow and I’ll let you know.
@cpinter so I checked on the version built with https://github.com/Punzo/SlicerAstroApp#linux (ubuntu 20.04, gcc9.3, cmake 3.17.3, qt5.15.0). It is true that the libQt5QmlModels libraries are not packed, but from a fast analysis with ldd on SlicerAstroApp-real and few libs in the libs folder, I didn’t see any depedepence from libQt5QmlModels.