[dpdk-dev] [PATCH] devtools: fix 32-bits build
    Thomas Monjalon 
    thomas at monjalon.net
       
    Mon Nov  9 14:19:29 CET 2020
    
    
  
09/11/2020 14:00, Ferruh Yigit:
> 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.
I think it is a problem in your configuration.
PKG_CONFIG_PATH is not empty before starting the script, right?
> To fix updating 'PKG_CONFIG_PATH' and preventing 'load_env' overwrite
> it.
[...]
> 'build-32b' check inside the 'load_env' looks ugly but not sure how to
> be sure 'PKG_CONFIG_PATH' set correct.
[...]
> -	export PKG_CONFIG_PATH=$default_pkgpath
> +	if [ "$targetdir" != "build-32b" ] ; then
> +		export PKG_CONFIG_PATH=$default_pkgpath
> +	fi
You can reset PKG_CONFIG_PATH in your config file.
Something like this:
if echo $DPDK_TARGET | grep -q '^i[3-6]86' ; then
	export PKG_CONFIG_PATH=my32bitlibs/pkgconfig
fi
We can also discuss why inheriting some default values on script start
instead of just resetting them.
    
    
More information about the dev
mailing list