From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 0558E42FC6; Thu, 3 Aug 2023 15:01:43 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8A78340C35; Thu, 3 Aug 2023 15:01:43 +0200 (CEST) Received: from mgamail.intel.com (unknown [192.55.52.43]) by mails.dpdk.org (Postfix) with ESMTP id EF8D5406BA for ; Thu, 3 Aug 2023 15:01:40 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1691067701; x=1722603701; h=date:from:to:cc:subject:message-id:references: content-transfer-encoding:in-reply-to:mime-version; bh=Wc2FI13af65pWV5PdEkY0Q54W9vH3KPkbrjQ7/UBBq8=; b=miMV/NleXnklTb2S/Kv2GkCPW5ywDC3wbIBRoxVyHHTkld8lCJRibif8 WfaJGSgw2kRguDRJiCj2EAaf34cg/FHPU6bG/4I11ge7uKLXAjExj2iW/ lVRG1Pbrv+jWvhezmcsa9Qjta/hLCj3baEGuockHorZZxe1Qb2i2Buu5A eXiH5gDtkXVP4jWQxHGIF/AMGDIzA8Wlare8pY95ol6hCxBd7iGA4/tkc kCjh67qI/m1yMdTfSZtj4/159a7QxV+PiYNInNNmqcm6bdGQCw7YyOG3z 5Qk/Hf5TsuCHhR9nPP7QFp1Dc+by176JbyzlAeleP8irooLsZd0BPH0oq Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10791"; a="456238484" X-IronPort-AV: E=Sophos;i="6.01,252,1684825200"; d="scan'208";a="456238484" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Aug 2023 06:01:18 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10791"; a="729539577" X-IronPort-AV: E=Sophos;i="6.01,252,1684825200"; d="scan'208";a="729539577" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by orsmga002.jf.intel.com with ESMTP; 03 Aug 2023 06:01:18 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Thu, 3 Aug 2023 06:01:18 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Thu, 3 Aug 2023 06:01:18 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27 via Frontend Transport; Thu, 3 Aug 2023 06:01:18 -0700 Received: from NAM04-DM6-obe.outbound.protection.outlook.com (104.47.73.46) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.27; Thu, 3 Aug 2023 06:01:17 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=K8PyRFiCK0tF1jK6GMiF2VtnRnV78gjYxSnJ7BvrndSCg8iBGq7/kpTpYO2gHy9r05DnXCp1JYw5pR2g74MPZxgZzDUi6UI70/NtPzzXbZNrCUsfi6cUAWwJxgZApvk82PlQYwWM7ah+jZfPBsSnbBo4yIAkg5RVKi5+Ifb8JidMPUUXxEBgHDna8enx9Dk5wrN/bYUGG49YjIwjoHuhxBdWLUuq0Xp2T0bMg0KZYwQeAnzGE70tZIrGBIdsdQ32b/YXGyOspF7lxDpEPDQlBhq4b3nIC7YaN1t6Kn/45wNXQkgL1E7rLz/Jtine3/Y1Bd2p24wMNhz8U2aIHuIx5g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=6+wvCelLfYrzDRgHVNLvdStNCKk6vvjdKQ8AgLvrAUg=; b=jX3roGz4BVd8hD7r461r9MWKPpZ2m6aQIQp54aCMektxTqoVhhSicpS2/rsWWJPatZjRdkc47F12yZp3BRJsxNIqtwsYVhiCBYcFNbNaLrpZYTg1hzW20g20ysgEAGkvL/1k/jBq3gmhiX65mdqPd2UeueHmD9bT9upuKQVIMDzFtc/Di8qf6ggCKNcah4wJ4bSsuIFe5fyiQ7E8QrOeu5OBrRQLvK1BnZt4vmTJP3bZ4gT58GV/Pmf0fQQbtJ1QZl8wNhIKvXkhdcnw1ZD9ZVTzaF0IAL1Ed4ezl2/mEN2Pfef9w0HOjZJOmmsDjCs2Rjb2U0Jlvj3yZ0/XNq0xfA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; Received: from DS0PR11MB7309.namprd11.prod.outlook.com (2603:10b6:8:13e::17) by PH7PR11MB7049.namprd11.prod.outlook.com (2603:10b6:510:20c::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.20; Thu, 3 Aug 2023 13:01:15 +0000 Received: from DS0PR11MB7309.namprd11.prod.outlook.com ([fe80::9802:65f0:c441:780f]) by DS0PR11MB7309.namprd11.prod.outlook.com ([fe80::9802:65f0:c441:780f%7]) with mapi id 15.20.6631.046; Thu, 3 Aug 2023 13:01:15 +0000 Date: Thu, 3 Aug 2023 14:01:08 +0100 From: Bruce Richardson To: Abhineet Pandey CC: "dev@dpdk.org" Subject: Re: [Question/Issue] pkgconfig does not include dpdk/drivers libs Message-ID: References: Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-ClientProxiedBy: DUZPR01CA0120.eurprd01.prod.exchangelabs.com (2603:10a6:10:4bc::18) To DS0PR11MB7309.namprd11.prod.outlook.com (2603:10b6:8:13e::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR11MB7309:EE_|PH7PR11MB7049:EE_ X-MS-Office365-Filtering-Correlation-Id: ea5dfede-3ebc-4ed4-2cb7-08db9421b873 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ACCdBqBxjKGbkWoCb+63BV8w/g+e7Ei6P4LtbS9ksKBBDIQLttPGrgbTLYF6UjpMYBYF0l403yIBZ5oub0svF+7EsNoeKlGKFCElpFW/w2EI+CfFkD98HF8oO9s8GnAifATvAZFyS1sBpQlHixlBmI+5cHWXFUcgWexVPFs5ikVqTVSZGwYWh/QhxPPwDcgCA9YX+376serBJrOwFYyWJZWejjUa6PDcKD1HupqZS2wGn3f1atbZISDGxCXi5u50TVdz70m+2yYQpLnB83wUCOwk/OMAdW0wFxQzSGhwn9l0/2En0U+skfdem0DZsbT6kO8FllVByr2IgZJf70ygQac0EnN+5fIdrK46oXWK7lT+6wGQX0+SItypK6SpuC3Jqfhv6hs9WaKDZY8nxercxgWLUXQZegYoP1IStuFsLFzDLQs/FJyefBD279v57tKlf9JabbuGr3qIXW/1/1eD2FIdId74xy4kNY4FSt6jWSJOhbxdMnRz2MKBF9smagIf49/ELLxBexujBUQqwIXQuA+ycEMk6ryA93KG9FmKlDjMI6oW43n4hX+4HdNyy3ql6Nb29enRNjVEZi91Oc1SBiC3KNyFl3fJzOx7g25J0WI8mGvNZrWT2lfVM1oia2+r X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DS0PR11MB7309.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(376002)(136003)(346002)(39860400002)(396003)(366004)(451199021)(2906002)(44832011)(5660300002)(66946007)(8676002)(83380400001)(41300700001)(8936002)(316002)(296002)(66556008)(4326008)(6916009)(66476007)(478600001)(45080400002)(6486002)(6666004)(966005)(6512007)(86362001)(38100700002)(82960400001)(6506007)(26005)(53546011)(186003)(67856001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?eHN1QnZ2YTgxeU9QRXpnTnNkQlF6STQ4M1dMeUN6TUJvUVVJZnJTamRMT3Vq?= =?utf-8?B?d0RjREltT1JocUczc1c0TkF6MmVqd2tDZGZyUWYwOGQydGFxcTlpNVBuYUxq?= =?utf-8?B?d29ESkYxTkZNWm1kcmpkMXp4aFlwS1RuYmJKbWFCLzZmUE5WVzVkVE1aVE4v?= =?utf-8?B?M0tkeFRlYzhVdmxNZXJDejhmMWNZcmF3WFRGWTNvTWRJbTY1ZUJ3SXhwRFJm?= =?utf-8?B?cFd4aGRPMFoxLzhxSGx3Q3RWQUg3eWFUbmJGQnZSWE8raExJYlFVajdUTnJE?= =?utf-8?B?c0d2MlVFZUU0TVUxR2c2SEk0Ly93YTBsa2k2SDFhQmlBeU54VUFCKzVuUU5S?= =?utf-8?B?Rk9UVlU1cWFodENkck0yWVRLT3F6QkFvWm11MTYrNHlmWUJGZFhOc0FSajFv?= =?utf-8?B?QVo5MXdxbVcxL1dGQ3NmTXYyU0FIdGhLMkRxbG9PN3Q2NmpYK0VEOVUzc2JT?= =?utf-8?B?a3ZiSm5DWDNTcVJDQkRRTFYrTGd3b1IwZGNubTIwSWx2aHRSTUZPZWRNdEpk?= =?utf-8?B?MzNVcE04bmFFWGtnSGpNcURjcE5ab0d0c2lJU1pFa0xJU3BBWTBWTFVrN2kx?= =?utf-8?B?V0RtR0NPM2kxNmtPZHBKUHN1RzNDNGlycUtzMmtEb2FVVFdUQjBoR0plL2F1?= =?utf-8?B?bDRJQ0JydmtWMW1FZTFyOVJJWVdlY3dDVm5vRU1lZUNlakhhVnZEMUR0dERJ?= =?utf-8?B?azhoQitMSE9memtiZEtXeVQ1SitOelVsVFZaYVVFNUU5M0hJZzJOM3ROYnM1?= =?utf-8?B?RkJRK1NsUmlIVlA2MmJkQ1ZBZzhYNmgwTkd6Y0d5bWt4SFY5NlhEOVF1UE0z?= =?utf-8?B?NHFFMER5UjI0Nko3c3BuY09BSkJiMmpBZG9ud1drbzFsbWlyamYwRVU2SFF3?= =?utf-8?B?VGZYMWRxdFQ3Z2UyVlI1QTRGQ2RkbTVVcDFKR0l5dFdJcW1OTWl0QzQybzVY?= =?utf-8?B?Y2k5M2IvSWFRSlRHSTViN0Z0dGVOaXI1L2FhQ1AvclUvU1pJOUpYOW5GMVNx?= =?utf-8?B?TUR6eFJhTk53dVllTkRMQ0NxTngzYW9Rd1lCcDRWQjlwdW5oVVdJampEREcx?= =?utf-8?B?d1BDNlVISU9XVnNwdytBQnNVR0tZMnZEanRNd2s5dUcxbFdWa3NqSHNSamRT?= =?utf-8?B?THJtZHhQSS9kVTkvejBDTHp1T2xpNURQQzJ6am5SVXA0T2VMWEtlZVV3TnBB?= =?utf-8?B?MDVjZGZLSEJ0Um5GUWRsUThJTWIvSjhPYlBjWFNoOHFCMDFBWktOdXJCQVdF?= =?utf-8?B?SnUvcldNYWlUU0QxdU1zQnBEeFlPbnF5R1pFMDF2aDBWZDRidUhHd3kwYU5O?= =?utf-8?B?OGJLdjdESTRqQWFCeFZmSlY2Y3J5UTdpWVUxWG94blAwTHFlODUwT20rUXkr?= =?utf-8?B?aG1hQzZnUURMdzN4TmJrTy8xV0xXdnFIMnhJRTZKdm5pcGJFb0ljTjZvUTRR?= =?utf-8?B?aFIvNXB6OU00dW5jTHA4eUppdy9oRml0ZU81ZEpQaDgwSVZJOXl5TmR3VU1m?= =?utf-8?B?eTVyaCtNUmZqbXFTM2FQMnVBTzZWNWlhaTRRY2tLeEs4THoyWm85S0o5Vi9u?= =?utf-8?B?bitkd2R4K2cvZXlGTWcvM2ljMWh2VVZ3cTRncjdZUjZuNmlmUlNMQ0k3WGUr?= =?utf-8?B?RlgvcXZGK24rUUI0MkROL3JqS1RXUklkTU9jOW50VzdQWlFzMDU4WEc0UFF2?= =?utf-8?B?ZGtPaDNtaGZoRDUwcHNwK2RsUks0QkZPdUVmOHc5S0p1eHdJK1M4d0l6bU5t?= =?utf-8?B?ZFl5V1J5VWpmQm9JekpFbS9QZk4vdklqWFlDNGt5M2VzeEVndWRSVGovc05j?= =?utf-8?B?NjNIV3A3c1lHMjhUUXpBMG1xZlBUekF3cFRNQnpZaWsxcEZ1NHJYQkIvQnMy?= =?utf-8?B?RG1SNGpVWjdQNWxQS3NHRzdtQkNubmwwdEt4bkRHNTdpdlh2bHVmY0g0VHdY?= =?utf-8?B?Zi8rM3pxQ3lJWDBydWd1MVBKbmIwekJGU1VUa2NkZWJsNHdiSlZTQjQ1MVBS?= =?utf-8?B?RXVmY242SUsyaWkyOXNKNDJ3VEsyNXZObHVOdWsvUmpZOGxtK3JXMXRCUHVu?= =?utf-8?B?MUhleE0wWEFqejJnTFFuQ3lHSGtPYks2Zkc5NWdaOE5mWU9POStoQlBuN0dF?= =?utf-8?B?VW03WTF5SDJmeW9XTkQ3SkZ6YWZ6SGVJRGtzNm1DbW9ETFZ0eTZZRUNwcDhR?= =?utf-8?B?ZFE9PQ==?= X-MS-Exchange-CrossTenant-Network-Message-Id: ea5dfede-3ebc-4ed4-2cb7-08db9421b873 X-MS-Exchange-CrossTenant-AuthSource: DS0PR11MB7309.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2023 13:01:15.6208 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 9wlP69xdDSSxGPsvqQUW2vyYG0lvX1tKi9XeU1jDq/ZQGXchFGf/ZJgGN3xt+1c74UtCDPBtZoE2XxEMeEL2BL2MnQHgs/pu4YNvl0jESic= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR11MB7049 X-OriginatorOrg: intel.com X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org On Thu, Aug 03, 2023 at 12:51:36PM +0000, Abhineet Pandey wrote: > Hi Bruce, > Thanks for taking a look at this. > Talking about the issues you pointed, > 1. Absense of -lrte_bus_pci and similar flags > Even if I don’t give –static flag, I don’t see -lrte_bus_pci (and > -lrte_bus_vdev, -lrte_mempool_ring). > Attaching output, > PKG_CONFIG_PATH=dpdk/build/lib/pkgconfig pkg-config --libs libdpdk > > -Wl,--as-needed -L/home/nutanix/spdk/dpdk/build/lib -lrte_vhost > -lrte_security -lrte_reorder -lrte_dmadev -lrte_power -lrte_cryptodev > -lrte_compressdev -lrte_timer -lrte_hash -lrte_cmdline -lrte_pci > -lrte_ethdev -lrte_meter -lrte_net -lrte_mbuf -lrte_mempool -lrte_rcu > -lrte_ring -lrte_eal -lrte_telemetry -lrte_kvargs > Not sure if this is expected. Yes, that is expected. For shared-library builds, the drivers are dynamically loaded at runtime, rather than being linked directly to the app. This allows drivers to be added/removed from an install without breaking anything. To deploy DPDK to a platform, you only need copy over the .so files you need for the hardware on that platform. > 2. Missing constructor runs. > Got your point. I’m using pkg-config 0.27.1. Will check how to avoid > the automatic No Whole Archive thing. Still not sure about point 1 > though. I'd recommend installing pkgconf, or getting an updated pkg-config binary. > Regards, > Abhineet > > > From: Bruce Richardson > Date: Thursday, 3 August 2023 at 3:46 PM > To: Abhineet Pandey > Cc: dev@dpdk.org > Subject: Re: [Question/Issue] pkgconfig does not include dpdk/drivers > libs > > On Thu, Aug 03, 2023 at 09:15:11AM +0000, Abhineet Pandey wrote: > > I’m consuming dpdk via spdk. > > I was trying to use pkg-config for a Makefile that I’m writing, > > Executing: > > > > PKG_CONFIG_PATH=dpdk/build/lib/pkgconfig pkg-config --libs > --static > > libdpdk > > Output: > > -Wl,--whole-archive -Wl,--no-whole-archive -Wl,--as-needed > -pthread > > -L/home/nutanix/exact_spdk/spdk/dpdk/build/lib -l:librte_bus_pci.a > > -l:librte_bus_vdev.a -l:librte_mempool_ring.a -l:librte_vhost.a > > -l:librte_security.a -l:librte_reorder.a -l:librte_power.a > > -l:librte_cryptodev.a -l:librte_compressdev.a -l:librte_timer.a > > -l:librte_hash.a -l:librte_cmdline.a -l:librte_pci.a > -l:librte_ethdev.a > > -l:librte_meter.a -l:librte_net.a -l:librte_mbuf.a > -l:librte_mempool.a > > -l:librte_rcu.a -l:librte_ring.a -l:librte_eal.a > -l:librte_telemetry.a > > -l:librte_kvargs.a -lrte_vhost -lrte_security -lrte_reorder > -lrte_power > > -lrte_cryptodev -lrte_compressdev -lrte_timer -lrte_hash > -lrte_cmdline > > -lrte_pci -lrte_ethdev -lrte_meter -lrte_net -lrte_mbuf > -lrte_mempool > > -lrte_rcu -lrte_ring -lrte_eal -lrte_telemetry -lrte_kvargs -lm > -ldl > > -lnuma > > At a closer look, you’ll see -l:librte_bus_pci.a > -l:librte_bus_vdev.a > > -l:librte_mempool_ring.a, but you won’t find corresponding > > -lrte_bus_pci, -lrte_bus_vdev, -lrte_mempool_ring. This showed up > in my > > use case as rte_mempool_ring has some functions which execute on > > startup via __attribute__((constructor)), and they did not execute > thus > > causing issues. > I think there are two separate issues you are flagging here. > 1. Absense of -lrte_bus_pci and similar flags > 2. Missing constructor runs. > For the former, the behaviour is exactly as expected. You have > specified > static linkage on the pkg-config commandline, so pkg-config is listing > out > the libraries to link against only in static form. With > -l:librte_bus_pci.a, where is no need for -lrte_bus_pci since the pci > bus > library is already linked in. > For the missing constructors, the issue is separate. That implies that > when > the static libs are linked, the constructors are not getting included. > Normally, this is done by specifying the --whole-archive flag to the > linker, but in your case above, that is immediately followed by > --no-whole-archive which counteracts it! I suspect you may have a bug > in > your pkg-config. By any chance are you using pkg-config 0.27? There is > known issue with it not linking static libs correctly, see note in [1] > /Bruce > [1] > [1]https://urldefense.proofpoint.com/v2/url?u=https-3A__doc.dpdk.org_gu > ides-2D23.07_linux-5Fgsg_sys-5Freqs.html-23compilation-2Dof-2Dthe-2Ddpd > k&d=DwIDaQ&c=s883GpUCOChKOHiocYtGcg&r=UaVZAw32qzYwqV0iyjkICkaNhB8peZhhE > JSs22LHVbI&m=NHXDGIxEa3NlLGmshhz7un6SMT4NlACKBYA39xVBj3VGki9GCytR-HAHnQ > i0cM4S&s=OSlZ0EizFQ8Xa1HkrPrAywHi_kuZHJHhTe48KKtL-AA&e= > > References > > 1. https://urldefense.proofpoint.com/v2/url?u=https-3A__doc.dpdk.org_guides-2D23.07_linux-5Fgsg_sys-5Freqs.html-23compilation-2Dof-2Dthe-2Ddpdk&d=DwIDaQ&c=s883GpUCOChKOHiocYtGcg&r=UaVZAw32qzYwqV0iyjkICkaNhB8peZhhEJSs22LHVbI&m=NHXDGIxEa3NlLGmshhz7un6SMT4NlACKBYA39xVBj3VGki9GCytR-HAHnQi0cM4S&s=OSlZ0EizFQ8Xa1HkrPrAywHi_kuZHJHhTe48KKtL-AA&e=