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 30446A09D9; Wed, 11 Nov 2020 12:14:00 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 9919BF90; Wed, 11 Nov 2020 12:13:58 +0100 (CET) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id 716F3F64; Wed, 11 Nov 2020 12:13:55 +0100 (CET) IronPort-SDR: PXl+DgHhNCyhjoNWnkBEjdoCZZpexI5SA187G+TgGhRIma7ONVj221e3fh91hfm1t9rEaA2zCI pyoQNKEuCY+Q== X-IronPort-AV: E=McAfee;i="6000,8403,9801"; a="166621013" X-IronPort-AV: E=Sophos;i="5.77,469,1596524400"; d="scan'208";a="166621013" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Nov 2020 03:13:51 -0800 IronPort-SDR: Cm0mrPqbdSVVwN6/KQLlJql6Papl3UR18GSKQDUCScLMf64oZfz45EMrth0nVxbUYRD4EUMCl8 lanLLywcKE/Q== X-IronPort-AV: E=Sophos;i="5.77,469,1596524400"; d="scan'208";a="473815280" Received: from fyigit-mobl1.ger.corp.intel.com (HELO [10.213.241.123]) ([10.213.241.123]) by orsmga004-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Nov 2020 03:13:50 -0800 To: Bruce Richardson , Thomas Monjalon Cc: dev@dpdk.org, david.marchand@redhat.com, stable@dpdk.org, Luca Boccassi References: <20201109210009.919129-1-thomas@monjalon.net> <20201111091843.GA1500@bricha3-MOBL.ger.corp.intel.com> <2317352.zR0qdTapYh@thomas> <20201111110049.GB1500@bricha3-MOBL.ger.corp.intel.com> From: Ferruh Yigit Message-ID: <9873b5ca-db70-60f3-a3c0-9c1d4bf5e22a@intel.com> Date: Wed, 11 Nov 2020 11:13:46 +0000 MIME-Version: 1.0 In-Reply-To: <20201111110049.GB1500@bricha3-MOBL.ger.corp.intel.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit Subject: Re: [dpdk-dev] [PATCH 1/1] devtools: fix build test config inheritance from env 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 11/11/2020 11:00 AM, Bruce Richardson wrote: > On Wed, Nov 11, 2020 at 11:37:41AM +0100, Thomas Monjalon wrote: >> 11/11/2020 10:18, Bruce Richardson: >>> On Tue, Nov 10, 2020 at 06:09:45PM +0000, Ferruh Yigit wrote: >>>> On 11/10/2020 5:55 PM, Thomas Monjalon wrote: >>>>> 10/11/2020 18:18, Ferruh Yigit: >>>>>> On 11/9/2020 9:00 PM, Thomas Monjalon wrote: >>>>>>> PKG_CONFIG_PATH is specific to each target, so it must be empty >>>>>>> before configuring each build from the file according to DPDK_TARGET. >>>>>>> Inheriting a default PKG_CONFIG_PATH for all targets does not make sense >>>>>>> and is prone to confusion. >>>>> [...] >>>>>> In same run both 64bit and 32bit builds are done, >>>>> >>>>> Multiple targets can be built yes. >>>>> >>>>>> At least for my environment, >>>>>> for 64bit, PKG_CONFIG_PATH should be '/usr/local/lib64/pkgconfig/' >>>>>> for 32bit, PKG_CONFIG_PATH should be '/usr/lib/pkgconfig/' >>>>> >>>>> Not sure you need to set these values in PKG_CONFIG_PATH. >>>>> At least /usr/lib/pkgconfig/ is already set in PKG_CONFIG_LIBDIR. >>>>> >>>>> Let me rephrase the man page of pkg-config: >>>>> PKG_CONFIG_LIBDIR is the primary paths list >>>>> PKG_CONFIG_PATH is the secondary paths list >>>>> >>>>>> What should I set in the config file to support both? >>>>> >>>>> The standard paths for your 64-bit machine should be built-in >>>>> in your pkg-config. >>>>> The standard path for 32-bit is already set automatically >>>>> in devtools/test-meson-builds.sh. >>>>> Only additional specific paths should be set in a config file. >>>>> >>>>> What is a config file? It is loaded by devtools/load-devel-config: >>>>> - /etc/dpdk/devel.config (system-wide) >>>>> - or ~/.config/dpdk/devel.config (user config) >>>>> - or .develconfig (project directory config) >>>>> Personally I set all my configs in ~/.config/dpdk/devel.config. >>>>> Note that the same file is used to configure multiple tools. >>>>> >>>>> For each build, some variables are reset the variable DPDK_TARGET is set, >>>>> and the config file is sourced. >>>>> The typical values of DPDK_TARGET are: >>>>> - i386-pc-linux-gnu >>>>> - x86_64-pc-linux-gnu >>>>> - x86_64-w64-mingw32 >>>>> - aarch64-linux-gnu >>>>> - powerpc64le-linux-gcc >>>>> >>>>> TLDR, I assume you just want to set an additional 64-bit path, >>>>> so the config file should look like: >>>>> >>>>> if [ "$DPDK_TARGET" = x86_64-pc-linux-gnu ] ; then >>>>> export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib64/pkgconfig >>>>> fi >>>>> >>>>> >>>> >>>> Thanks for the clarification. >>>> >>>> Standard paths seems should be covered already in current script, which I >>>> was trying to do with "export PKG_CONFIG_PATH=$CUSTOM_PKG_CONFIG_PATH" line >>>> in my patch, >>>> >>>> I may be mixed 'PKG_CONFIG_LIBDIR' vs 'PKG_CONFIG_PATH' usage, let me check >>>> it in my environment. >>>> >>> >>> For just adding a new custom path for pkg-config using PKG_CONFIG_PATH. For >>> building anything other than a native 64-bit build you need to override >>> PKG_CONFIG_LIBDIR and clear PKG_CONFIG_PATH, otherwise the 64-bit packages >>> will be found from the standard paths if not found in a 32-bit one. >> >> Yes, this is what is done in this patch (clearing PKG_CONFIG_PATH). >> May I assume you are all OK with this patch now? >> > Yes, I previously acked it, I believe. > 'PKG_CONFIG_LIBDIR' seems replaces the pkgconfig defaults, 'PKG_CONFIG_PATH' adds paths to process *before* built-in ones. With adjustment according above, all looks good to me. What about unset the variable "uset PKG_CONFIG_PATH", to set it to empty to get rid of the following line from logs: "Using 'PKG_CONFIG_PATH' from environment with value: ''" With or without about change, Acked-by: Ferruh Yigit