From 1ce668f9163e1c912382eeb0e6ae40d123c0cca9 Mon Sep 17 00:00:00 2001 From: Mike Gilbert Date: Mon, 13 Jan 2020 23:46:09 -0500 Subject: [PATCH] test_pkgconfig_gen_deps: set PKG_CONFIG_SYSTEM_LIBRARY_PATH=/usr/lib pkgconf automatically prunes "system library paths" from its output. The system library paths depend on the system toolchain. A common value on a 64-bit system is as follows: /lib64:/usr/lib64:/usr/local/lib64 So, if -L/usr/lib64 appears in the Libs section, it will be pruned from the output of pkg-config --libs. The pc files generated for this test contain something like this: libdir=/usr/lib Libs: -L${libdir} ... pkgconf may not consider /usr/lib to be a system library path, so it is not pruned as the test expects. To work around this, override the compiled-in list of paths via the PKG_CONFIG_SYSTEM_LIBRARY_PATH environment variable. Fixes: https://github.com/mesonbuild/meson/issues/6004 --- run_unittests.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/run_unittests.py b/run_unittests.py index 898f05e54d..5a60b9b6a4 100755 --- a/run_unittests.py +++ b/run_unittests.py @@ -4832,7 +4832,10 @@ def test_pkgconfig_gen_deps(self): privatedir2 = self.privatedir os.environ - env = {'PKG_CONFIG_LIBDIR': os.pathsep.join([privatedir1, privatedir2])} + env = { + 'PKG_CONFIG_LIBDIR': os.pathsep.join([privatedir1, privatedir2]), + 'PKG_CONFIG_SYSTEM_LIBRARY_PATH': '/usr/lib', + } self._run(['pkg-config', 'dependency-test', '--validate'], override_envvars=env) # pkg-config strips some duplicated flags so we have to parse the