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

Bruce Richardson bruce.richardson at intel.com
Mon Nov 9 14:35:31 CET 2020


On Mon, Nov 09, 2020 at 01:24:28PM +0000, Ferruh Yigit wrote:
> On 11/9/2020 1:19 PM, Thomas Monjalon wrote:
> > 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.
> > 
> 
> Yes I have 'PKG_CONFIG_PATH' set in my environment before running script, if
> it expects it to be not set, +1 to reset it at the beginning of the script.

+1 to this, because we can't have a global PKG_CONFIG_PATH for both 32-bit
and 64-bit builds.

/Bruce


More information about the dev mailing list