32 bit still uses the pkgconfig file for 64-bits libraries, from the
build log:

"
Using DPDK_TARGET i386-pc-linux-gnu
meson  -Dexamples=l3fwd --buildtype=debugoptimized --werror
-Dc_args=-m32 -Dc_link_args=-m32
/tmp/dpdk_maintain/self/dpdk/devtools/.. ./build-32b
...
Using 'PKG_CONFIG_PATH' from environment with value:
'/usr/local/lib64/pkgconfig/
"

This causes build error when linking with the found libraries.

Reproduced with 'librte_bpf' which only has 64 bit installed but still
enables building 'af_xdp' and link fails.

To fix updating 'PKG_CONFIG_PATH' and preventing 'load_env' overwrite
it.

Fixes: 9b83106d8784 ("devtools: test 32-bit build")

Signed-off-by: Ferruh Yigit <ferruh.yi...@intel.com>
---
Cc: Bruce Richardson <bruce.richard...@intel.com>
Cc: Thomas Monjalon <tho...@monjalon.net>

'build-32b' check inside the 'load_env' looks ugly but not sure how to
be sure 'PKG_CONFIG_PATH' set correct.
---
 devtools/test-meson-builds.sh | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/devtools/test-meson-builds.sh b/devtools/test-meson-builds.sh
index 0c95d1cc98..9e44359398 100755
--- a/devtools/test-meson-builds.sh
+++ b/devtools/test-meson-builds.sh
@@ -53,7 +53,9 @@ load_env () # <target compiler>
 {
        targetcc=$1
        export PATH=$default_path
-       export PKG_CONFIG_PATH=$default_pkgpath
+       if [ "$targetdir" != "build-32b" ] ; then
+               export PKG_CONFIG_PATH=$default_pkgpath
+       fi
        export CPPFLAGS=$default_cppflags
        export CFLAGS=$default_cflags
        export LDFLAGS=$default_ldflags
@@ -226,10 +228,12 @@ if check_cc_flags '-m32' ; then
                # 32-bit pkgconfig on RHEL/Fedora (lib vs lib64)
                export PKG_CONFIG_LIBDIR='/usr/lib/pkgconfig'
        fi
+       export PKG_CONFIG_PATH=$PKG_CONFIG_LIBDIR
        target_override='i386-pc-linux-gnu'
        build build-32b cc -Dc_args='-m32' -Dc_link_args='-m32'
        target_override=
        unset PKG_CONFIG_LIBDIR
+       unset PKG_CONFIG_PATH
 fi
 
 # x86 MinGW
-- 
2.26.2

Reply via email to