Fix AppImage build: need LD_LIBRARY_PATH

I'm not sure why this is needed now and wasn't needed before since the
cmake changes have been in main for a while and there don't appear to
be recent changes to the appimage build tools.

This change adds to lib directory to LD_LIBRARY_PATH so the appimage
tools' ldd check will pass. This is an appropriate change since the
directory that is added will be in the standard load path when
installed.
This commit is contained in:
Jay Berkenbilt 2022-04-02 13:59:01 -04:00
parent f8e97e0ed5
commit c78229b4e6
2 changed files with 17 additions and 2 deletions

View File

@ -443,6 +443,16 @@ build-appimage, which passes them along to to docker.
Use -e SKIP_TESTS=1 to skip the test suite.
Use -ti -e RUN_SHELL=1 to run a shell instead of the build script.
To iterate on the scripts directly in the source tree, you can run
docker build -t qpdfbuild appimage
docker run --privileged --rm -ti -e SKIP_TESTS=1 -e RUN_SHELL=1 \
-v $PWD/..:/tmp/build ${1+"$@"} qpdfbuild
This will put you at a shell prompt inside the container with your
current directory set to the top of the source tree and your uid equal
to the owner of the parent directory source tree.
LOCAL WINDOWS TESTING PROCEDURE

View File

@ -21,7 +21,7 @@
# into the 'CUSTOM_CONFIGURE' environment variable and exporting it
# before running this script. For example:
#
# export CUSTOM_CONFIGURE=" --enable-test-compare-images [--more-other-options]"
# export CUSTOM_CONFIGURE=" -DSOME_OTHER_OPTION=1 [...]"
#
# ATTENTION:
#
@ -151,7 +151,12 @@ wget -c "https://github.com/probonopd/linuxdeployqt/releases/download/continuous
chmod a+x linuxdeployqt*.AppImage
# Set up a clean environment:
unset QTDIR; unset QT_PLUGIN_PATH; unset LD_LIBRARY_PATH
unset QTDIR; unset QT_PLUGIN_PATH
# Since cmake strips runpath information for executables and we are
# installing with DESTDIR, we need to set LD_LIBRARY_PATH or else ldd
# will fail on the resulting executables
export LD_LIBRARY_PATH=$(dirname $(find $appdir -type l -name libqpdf.so.28))
# Let 'linuxdeployqt' do its first stage of work:
./linuxdeployqt*.AppImage appdir/usr/share/applications/*.desktop -bundle-non-qt-libs