13
0

Fix Linux installer - #7977

ldd may not print errors to stderr (Debian GLIBC 2.28-10 doesn't),
and hence the current check did nothing on debian and derivative
systems. While on other GNU/Linux distros (e.g. openSuSe),
other errors do show up (e.g. checking session-utils shell script
-> "not a dynamic executable")

This explicitly checks for missing libraries hopefully in a
distro independent way.
This commit is contained in:
Robin Gareus 2020-04-05 23:52:26 +02:00
parent 55854e3797
commit 6c6bea26ad
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04

View File

@ -488,8 +488,8 @@ echo ""
LIB_ERROR="F"
LD_PATH=`pwd`/${BUNDLE_DIR}/lib
# check the main App
LDD_RESULT=$(LD_LIBRARY_PATH=${LD_PATH} ldd ${BUNDLE_DIR}/*/${PGM_NAME_LOWER}-* 2>&1 > /dev/null | grep -v "no version information")
# check the main App(s)
LDD_RESULT=$(LANG=C LD_LIBRARY_PATH=${LD_PATH} ldd ${BUNDLE_DIR}/*/${PGM_NAME_LOWER}-* 2>&1 | grep "not found/")
if [ -n "$LDD_RESULT" ];
then
@ -502,7 +502,7 @@ LIB_FILES=$(find ${BUNDLE_DIR}/lib -name "*.so" -type f)
for path in $LIB_FILES
do
LDD_RESULT=$(LD_LIBRARY_PATH=${LD_PATH} ldd $path 2>&1 > /dev/null | grep -v "no version information")
LDD_RESULT=$(LANG=C LD_LIBRARY_PATH=${LD_PATH} ldd $path 2>&1 | grep "not found")
if [ -n "$LDD_RESULT" ];
then
echo "$LDD_RESULT"