From: Ruediger Meier Date: Tue, 20 Jan 2015 11:22:35 +0000 (+0100) Subject: tests: python tests should not remove user's LD_LIBRARY_PATH X-Git-Tag: v2.26-rc2~77^2~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fa8f8b7469b732318c8a69b81ccf5180ad143113;p=thirdparty%2Futil-linux.git tests: python tests should not remove user's LD_LIBRARY_PATH LD_LIBRARY_PATH must be preserved like it's done in libtool's temporary wrapper scripts. This problem was noticed when building with Intel's icc (15.0.0): $ make check TS_OPTS="libmount" $ tail tests/diff/libmount/tabfiles-py-parse-mtab [...] +Traceback (most recent call last): + File "/tmp/util-linux/libmount/python/test_mount_tab.py", line 8, in + import pylibmount as mnt +ImportError: libimf.so: cannot open shared object file: No such file or directory ... although libimf.so was in LD_LIBRARY_PATH. NOTE 1: When running root checks "sudo -E" is not enough to preserve LD_LIBRARY_PATH because glibc already removes is. This would work: $ sudo -E env LD_LIBRARY_PATH=$LD_LIBRARY_PATH make check TS_OPTS="--parallel=1" NOTE 2: We also preserve PYTHONPATH which could bring us similar problems if the user has a customized python installation. Signed-off-by: Ruediger Meier --- diff --git a/tests/functions.sh b/tests/functions.sh index a9b37581db..852a6a3139 100644 --- a/tests/functions.sh +++ b/tests/functions.sh @@ -332,8 +332,8 @@ function ts_init_py { [ -f "$top_builddir/py${LIBNAME}.la" ] || ts_skip "py${LIBNAME} not compiled" - export LD_LIBRARY_PATH="$top_builddir/.libs" - export PYTHONPATH="$top_builddir/$LIBNAME/python:$top_builddir/.libs" + export LD_LIBRARY_PATH="$top_builddir/.libs:$LD_LIBRARY_PATH" + export PYTHONPATH="$top_builddir/$LIBNAME/python:$top_builddir/.libs:$PYTHONPATH" export PYTHON_VERSION=$(awk '/^PYTHON_VERSION/ { print $3 }' $top_builddir/Makefile) export PYTHON_MAJOR_VERSION=$(echo $PYTHON_VERSION | sed 's/\..*//')