Closed probonopd closed 7 years ago
Similar for libssl.so.10
, libcrypto.so.10
, libicui18n.so.57
, libicuuc.so.57
, libicudata.so.57
, libpcre16.so.0
. As a general rule, all libraries should be bundled except the ones listed in https://github.com/probonopd/AppImages/blob/master/excludelist.
How was the AppImage made? Using linuxdeployqt?
I am using the python version of linux deploy qt: https://github.com/Larpon/linuxdeployqt.py. but it seems to complete leave out the external libs and plugins.
Using this linuxdeployqt i end up with a ton of errors building on fedora.
Running: ./linuxdeployqt-continuous-x86_64.AppImage build-mycroft-qtapplication-Desktop-Debug/mycroft-qtapplication -appimage -bundle-non-qt-libs -qmldir=/usr/lib64/qt5/ -verbose=3
Log: checking whether "/home/Aix/build-mycroft-qtapplication-Desktop-Debug/lib/libnsl.so.1" has an rpath set Log: patchelf --print-rpath "/home/Aix/build-mycroft-qtapplication-Desktop-Debug/lib/libnsl.so.1"
ERROR: ldd outputline: "libpulsecommon-10.0.so => not found" (this one gets moving forward using export path method mentioned here: https://github.com/probonopd/linuxdeployqt/issues/52)
ERROR: Error reading rpath with patchelf "libnsl.so" : "cannot find section .dynamic\n" ERROR: Error reading rpath with patchelf "libnsl.so" : ""
Please copy libpulsecommon to a place where ldd can find it, not into a subdirecory of the libs directory. Then please retry with the latest linuxdeployqt, possibly the other issue has been fixed in the meantime. https://github.com/probonopd/linuxdeployqt/issues/61
libpulsecommon error seems to be solved bringing it over to /usr/lib64/ out of the sub dir on the latest release but the libnsl.so does not seem to be solved. I am on the latest release of linuxdeployqt on fedora. I am not sure if this error seems to be a fedora only thing. I am going to try building this against kubuntu 16.10 or 16.04.
I've gotten past those errors and can generate an appimage on ubuntu using linuxdeployqt. But the app image fails to work. linuxdeployqt completely ignores copying over qml/Qtwebsocket and manually copying over the websocket libs and rebuilding the appimage ends up with the following error:
qrc:/main.qml:5 plugin cannot be loaded for module "Qt.WebSockets": Cannot load library /tmp/.mount_Kf4BZV/qml/QtWebSockets/libdeclarative_qmlwebsockets.so: (libQt5WebSockets.so.5: cannot open shared object file: No such file or directory)
libQt5WebSockets.so.5 is present in my /lib folder and libQt5WebSockets.so.5 is present in my /qml/QtWebSockets/ i've additionally tried even moving over /qml into /lib/qt5/ that too doesn't seem to affect this error.
Experiment with -qmldir=path_to_where_qt_websockets_lives -qmldir=path_to_sourcecode
.
Manually adding the paths to websocket and re compiling seems to have fixed the issue, tested on 16.04 live image it seems to also work just fine. Qt still fails to include websockets . Released on the rest of desktops.
On
ubuntu-16.04-desktop-amd64.iso
I get:Please bundle
libpng16.so.16
inside the AppImage and please test it on a Ubuntu Live CD.