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.


Reply via email to