[dpdk-dev] [PATCH 2/2] buildtools/test-meson-builds: workaround pkg-config issue
Luca Boccassi
bluca at debian.org
Thu Jul 4 10:39:32 CEST 2019
On Wed, 2019-07-03 at 17:40 +0100, Bruce Richardson wrote:
> With Debian and Ubuntu, the default installation path for the 64-bit
> libraries is set to e.g. /usr/local/lib/x86_64-linux-gnu/, compared
> to
> /usr/local/lib64 on Fedora and Redhat distributions. This causes
> issues
> when using "pkg-config --define-prefix" since pkg-config assumes the
> prefix
> to be the grandparent of where the .pc file is. On Ubuntu we then get
> the
> cflags include path as being "/path/to/install-
> root/usr/local/lib/include"
> i.e. with an extra "lib" in the path.
>
> This issue only applies for test installs on Ubuntu and similar
> distros,
> and is not a problem for regular installs since the --define-prefix
> parameter would not be passed to pkg-config in those cases.
>
> The workaround for this in our test build script is to explicitly
> make
> "lib" the "libdir" setting for the install, overriding the distro-
> provided
> default.
>
> Fixes: 7f80a2102bbb ("devtools: test pkg-config file")
>
> Signed-off-by: Bruce Richardson <
> bruce.richardson at intel.com
> >
> ---
> devtools/test-meson-builds.sh | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/devtools/test-meson-builds.sh b/devtools/test-meson-
> builds.sh
> index 57d1af47e..7efc590fe 100755
> --- a/devtools/test-meson-builds.sh
> +++ b/devtools/test-meson-builds.sh
> @@ -76,12 +76,14 @@ for c in gcc clang ; do
> done
>
> # test compilation with minimal x86 instruction set
> +# set the install path for libraries to "lib" explicitly to prevent
> problems
> +# with pkg-config prefixes if installed in "lib/x86_64-linux-gnu"
> later.
> default_machine='nehalem'
> ok=$(cc -march=$default_machine -E - < /dev/null > /dev/null 2>&1 ||
> echo false)
> if [ "$ok" = "false" ] ; then
> default_machine='corei7'
> fi
> -build build-x86-default -Dmachine=$default_machine $use_shared
> +build build-x86-default -Dlibdir=lib -Dmachine=$default_machine
> $use_shared
>
> # enable cross compilation if gcc cross-compiler is found
> c=aarch64-linux-gnu-gcc
I have sent a patch upstream to pkg-config to fix the issue, as it
should really support the multiarch layout:
https://gitlab.freedesktop.org/pkg-config/pkg-config/merge_requests/4
--
Kind regards,
Luca Boccassi
More information about the dev
mailing list