From a3cc38d4069dda5f01088594b75dec39788b41df Mon Sep 17 00:00:00 2001 From: TheAssassin Date: Thu, 12 Jul 2018 23:39:17 +0200 Subject: [PATCH 1/3] Show error message if dependency library cannot be found --- src/core/elf.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/core/elf.cpp b/src/core/elf.cpp index 6ff738e..9c57454 100644 --- a/src/core/elf.cpp +++ b/src/core/elf.cpp @@ -99,7 +99,11 @@ namespace linuxdeploy { util::trim(libraryPath); paths.push_back(bf::absolute(libraryPath)); } else { - ldLog() << LD_DEBUG << "Invalid ldd output: " << line << std::endl; + if (util::stringContains("not found", line)) { + ldLog() << LD_ERROR << "Could not find dependency:" << line << std::endl; + } else { + ldLog() << LD_DEBUG << "Invalid ldd output: " << line << std::endl; + } } } From 4a7301eba54c4df8eddd75d5b08ebd2a243a4ac1 Mon Sep 17 00:00:00 2001 From: TheAssassin Date: Fri, 13 Jul 2018 01:01:53 +0200 Subject: [PATCH 2/3] Use patchelf v0.8 Seems like 0.10 breaks Qt libraries which expect a symbol called qt_version_tag in a specific section in the symbols. Patchelf breaks this by apparently moving the symbols to another section (section 15 vs. 13). We found out by looking into the readelf outputs of libQt5Core.so.5. @azubieta spotted the different numbers, and looked up their meaning. linuxdeployqt uses the patchelf binaries Debian jessie provides, which is 0.8. Therefore we try to build that version from source instead, hoping that this version won't break libraries. If that doesn't work either, we'll try with the pre-built binaries. --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index c4578fe..1ec88c1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -27,7 +27,7 @@ matrix: - libfuse2:i386 install: - - git clone https://github.com/NixOS/patchelf.git + - git clone https://github.com/NixOS/patchelf.git -b 0.8 - cd patchelf - ./bootstrap.sh - if [ "$ARCH" == "i386" ]; then export EXTRA_CONFIGURE_ARGS=("--build=i686-pc-linux-gnu" "CFLAGS=-m32" "CXXFLAGS=-m32" "LDFLAGS=-m32"); fi From c10eafe823c33276396d65208511759167e7c02c Mon Sep 17 00:00:00 2001 From: TheAssassin Date: Tue, 17 Jul 2018 14:18:48 +0200 Subject: [PATCH 3/3] Bundle Qt plugin --- travis/build.sh | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/travis/build.sh b/travis/build.sh index 88f365f..e56ac37 100755 --- a/travis/build.sh +++ b/travis/build.sh @@ -55,6 +55,15 @@ mv squashfs-root/ AppDir/plugins/linuxdeploy-plugin-appimage ln -s ../../plugins/linuxdeploy-plugin-appimage/AppRun AppDir/usr/bin/linuxdeploy-plugin-appimage +# bundle Qt plugin + +wget https://github.com/TheAssassin/linuxdeploy-plugin-qt/releases/download/continuous/linuxdeploy-plugin-qt-"$ARCH".AppImage +chmod +x linuxdeploy-plugin-qt-"$ARCH".AppImage +./linuxdeploy-plugin-qt-"$ARCH".AppImage --appimage-extract +mv squashfs-root/ AppDir/plugins/linuxdeploy-plugin-qt + +ln -s ../../plugins/linuxdeploy-plugin-qt/AppRun AppDir/usr/bin/linuxdeploy-plugin-qt + # build AppImage using plugin AppDir/usr/bin/linuxdeploy-plugin-appimage --appdir AppDir/