From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id E5202A0487 for ; Thu, 4 Jul 2019 11:47:48 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 13E6D1B9A7; Thu, 4 Jul 2019 11:47:48 +0200 (CEST) Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by dpdk.org (Postfix) with ESMTP id 2DEC81B965 for ; Thu, 4 Jul 2019 11:47:44 +0200 (CEST) X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga104.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 04 Jul 2019 02:47:43 -0700 X-IronPort-AV: E=Sophos;i="5.63,450,1557212400"; d="scan'208";a="158242411" Received: from bricha3-mobl.ger.corp.intel.com ([10.237.221.51]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 04 Jul 2019 02:47:41 -0700 Date: Thu, 4 Jul 2019 10:47:38 +0100 From: Bruce Richardson To: Luca Boccassi Cc: dev@dpdk.org Message-ID: <20190704094738.GA426@bricha3-MOBL.ger.corp.intel.com> References: <20190703164001.24841-1-bruce.richardson@intel.com> <20190703164001.24841-3-bruce.richardson@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.11.4 (2019-03-13) Subject: Re: [dpdk-dev] [PATCH 2/2] buildtools/test-meson-builds: workaround pkg-config issue X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Thu, Jul 04, 2019 at 09:39:32AM +0100, Luca Boccassi wrote: > 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@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 Thanks, Luca, good to have that fixed at source. Either way the fix in DPDK for our testing is harmless and ensures things pass generally. /Bruce