[dpdk-dev] [PATCH v2] devtools: fix 32-bits build

Ferruh Yigit ferruh.yigit at intel.com
Mon Nov 9 15:55:06 CET 2020


If the 'PKG_CONFIG_PATH' is set in the environment before script run,
32 bit still uses that value 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 this, using default 'PKG_CONFIG_PATH' variable unless
'CUSTOM_PKG_CONFIG_PATH' set, and set the 'CUSTOM_PKG_CONFIG_PATH' for
32 bit build.

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

Signed-off-by: Ferruh Yigit <ferruh.yigit at intel.com>
---
Cc: Bruce Richardson <bruce.richardson at intel.com>
Cc: Thomas Monjalon <thomas at monjalon.net>

v2:
* Enable overwriting default 'PKG_CONFIG_PATH' value
---
 devtools/test-meson-builds.sh | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/devtools/test-meson-builds.sh b/devtools/test-meson-builds.sh
index 0c95d1cc98..29aed9ac84 100755
--- a/devtools/test-meson-builds.sh
+++ b/devtools/test-meson-builds.sh
@@ -53,7 +53,11 @@ load_env () # <target compiler>
 {
 	targetcc=$1
 	export PATH=$default_path
-	export PKG_CONFIG_PATH=$default_pkgpath
+	if [ -n "$CUSTOM_PKG_CONFIG_PATH" ]; then
+		export PKG_CONFIG_PATH=$CUSTOM_PKG_CONFIG_PATH
+	else
+		export PKG_CONFIG_PATH=$default_pkgpath
+	fi
 	export CPPFLAGS=$default_cppflags
 	export CFLAGS=$default_cflags
 	export LDFLAGS=$default_ldflags
@@ -226,10 +230,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 CUSTOM_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 CUSTOM_PKG_CONFIG_PATH
 fi
 
 # x86 MinGW
-- 
2.26.2



More information about the dev mailing list