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 6B8F742FC6; Thu, 3 Aug 2023 14:51:42 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E49AF40C35; Thu, 3 Aug 2023 14:51:41 +0200 (CEST) Received: from mx0b-002c1b01.pphosted.com (mx0b-002c1b01.pphosted.com [148.163.155.12]) by mails.dpdk.org (Postfix) with ESMTP id DF60C406BA for ; Thu, 3 Aug 2023 14:51:39 +0200 (CEST) Received: from pps.filterd (m0127844.ppops.net [127.0.0.1]) by mx0b-002c1b01.pphosted.com (8.17.1.22/8.17.1.22) with ESMTP id 373Ad39Y007479; Thu, 3 Aug 2023 05:51:39 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; h= from:to:cc:subject:date:message-id:references:in-reply-to :content-type:mime-version; s=proofpoint20171006; bh=jIgCj35YuO2 QEieUHGS/qy229EOGm/JODWjiSyKPrcQ=; b=HNuN9ELSqj3f8TfEVt6pRIGeP/Z ethXLaZaWKObjBvJnuSGcRPYItqSeu9cLHKrpFYWSkKy/JzqVn5vHwjn4eGIq/r6 P87zpihj6v8FW2e4qOcF4z4sTN0hnFPsqxA6csanHZ7svqDJGcLp8IxsLFjXBpZh jR92v2w6M1mbE28bTLZW4EHdOB7QvtYqQlVxJRk9bcsCJ0lIc0TboaTBMckK8YAJ TGlCD7kfSjIsCLFBxQ7cRboZ98BZAz58E9xCoL0Zp786LsoAibWJ0GjIcq/VL89C Es0yQ9kMApWyZNSZaQ5e/5qjHaDnHVRyDl5t8vxWWxXBIWxbl9CnXZo0+0A== Received: from nam11-bn8-obe.outbound.protection.outlook.com (mail-bn8nam11lp2168.outbound.protection.outlook.com [104.47.58.168]) by mx0b-002c1b01.pphosted.com (PPS) with ESMTPS id 3s529xhjj5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 03 Aug 2023 05:51:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IowH8ipmGxLTyWc/BwCNJKG/PXL2KNT5aSvkWXMQgeOSwT+2P71r6rQmfRWpAm2RNMmZGC1xCOWPRsQmkCeoXpT6ITbP1Q9c4Qvb8hEXyqFFZ/Y51yS1NB9VaXbJxnMDEnDRv/gF8QWj6uNeVMoXdCbdzlqr4JwxaDCfGZTOTC9xKIaHYn+/5RQMkep72oqry5V9c+8fQdclaz4yRBHMOSTFTCkkk6s6wgDqqNzO8WrAy00Iqo4qpKCSmTQJU7l8xu1cgLYrVS+tNVSYZiaFtNymOhS8jWFE1Sj8s9qfbX9qEHM9/lqnidR21z4AZ7/Qi+CaFKkYnepa8Dnj5h5kcQ== 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=jIgCj35YuO2QEieUHGS/qy229EOGm/JODWjiSyKPrcQ=; b=jM8e9nfzKmuzNqgZ/Yey6FLykQ8w8V4TxkvzZTtty3sH2RLmY/eN/eFcbXbHZSHqki6QZx9GP1/l0QaPdr7khWoJVSATwYEe4is10EIytQVoR7nGooOlpfmXzQ2O5uBE+iaRwxqzoYaF0KehyuXO7qbNUhihluuLdnSlSVsIHEAHo+megxIxEWKtWG9FQBrqL5TDwX730pU8skDmpy32ZMk/qtg9JvFbPbsHTV5rbetcfXWUgsgpEwdOOaW9ViMafByz4Nx9gU0sHNhOBreWMGZNGd5i5TfAAdpvb7a3Gjn774HvJ7E1bLnBCo9p5cRAbVHXei12Us7P5rnFW9RQDg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nutanix.com; dmarc=pass action=none header.from=nutanix.com; dkim=pass header.d=nutanix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=jIgCj35YuO2QEieUHGS/qy229EOGm/JODWjiSyKPrcQ=; b=KRpZlyURgC5lCbAefZKkGAkUsNaJVHKluNkJJMVLlxYNJyegLHsBDNqZOI5amyyu4G3iwNT3kNqT2pjaDyxhfXm4aKcdpE1SmNYAMBahwgkB7JjC0jsei4MlHMoitHaDBKs+No/xjoAV8dD/KqSNh35n0+LFa/UWE4jjcvG1KsqjlI6nEri8g6pwoXnhRpQI/FQNMIDYa3LbSR35Bi/WomwF/xnqDOB+ka4H4AysR9BRDdqTWZQ32kyFojtQtCvltZxybQnhvV4IuZmDq91xQecxIBRY5bGLU/8WcdanyhzL7bkUzu7O/05jhvPUs0+2AhaIyhcm0Qo0dKpx7338Sw== Received: from CO6PR02MB8820.namprd02.prod.outlook.com (2603:10b6:303:144::11) by DM8PR02MB7989.namprd02.prod.outlook.com (2603:10b6:8:12::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.19; Thu, 3 Aug 2023 12:51:36 +0000 Received: from CO6PR02MB8820.namprd02.prod.outlook.com ([fe80::824b:b8a9:abc8:4562]) by CO6PR02MB8820.namprd02.prod.outlook.com ([fe80::824b:b8a9:abc8:4562%6]) with mapi id 15.20.6652.019; Thu, 3 Aug 2023 12:51:36 +0000 From: Abhineet Pandey To: Bruce Richardson CC: "dev@dpdk.org" Subject: Re: [Question/Issue] pkgconfig does not include dpdk/drivers libs Thread-Topic: [Question/Issue] pkgconfig does not include dpdk/drivers libs Thread-Index: AQHZxeWRGDCJF+pKaUuhbG8xLPl1tq/YWzIAgAApw1w= Date: Thu, 3 Aug 2023 12:51:36 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-IN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CO6PR02MB8820:EE_|DM8PR02MB7989:EE_ x-ms-office365-filtering-correlation-id: a12adb37-8b84-4e11-bbaa-08db94205f7d x-proofpoint-crosstenant: true x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: h1lF6tDDm4YsaLDX7eJaj6gcUWM8rIuMFD/QE0K+7zAXgcYLiLl+H87xOY/ico3mzeWfhlvOTKU0tQRcsT44Xi7mpe9BA2lxGdsnnjHLBIc+zItYX0aJB06hDYZFTWUhqe0ecwRxyDu+nuNOVz0ppjj92H4O7hgV1O6G+zIAXkSYNASvNsMmAOyLc9/cnVH/3go35480M2xFRJIqRo5L5gNWe2HOkEwJy3EVlODg+v7zMKCagqlCPI3P1SgO7ZbUNHldRtNt/nUziwzWsG5dwt6+SfkbvPVUKWJE89JQBHf6NAZE2mPjlOn4ypqjhzaqHNsPgCTOrlcLPjTlcE/g/r6AT1nCF9nh9hkvuyeBWw6uzTjK6wzmmwCQ18fkLrf7Guyuj7sYdtbsnKrIgiaAmiXOI9hoLzgVIE3YCB/B+48oP5O5pPy2+PTQcuphJAP/34Tu7coeOHQprh08I6Z9/Sl/VBtQdRQO6XhkpZKzuHzqxAVeIEkDAI6DY0im4wZAA72yVdyyJfAtIwxFsNMiOWNd9H1wGFzes/3G6t+pOhKc6FP77WzSc+awZiNnyuUPwaZJaDqpSytZFJD+u6cOEDATdGkw/z7gmxGACWbOUYg= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CO6PR02MB8820.namprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(396003)(39860400002)(346002)(376002)(136003)(366004)(451199021)(8676002)(5660300002)(83380400001)(122000001)(41300700001)(166002)(38100700002)(186003)(316002)(8936002)(9326002)(53546011)(38070700005)(6506007)(4326008)(6916009)(52536014)(66446008)(66556008)(66946007)(86362001)(64756008)(66476007)(9686003)(76116006)(2906002)(7696005)(966005)(71200400001)(33656002)(478600001)(45080400002)(44832011)(55016003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?Windows-1252?Q?3Ch3KFC7+7sc7wWsHX9WcEJ0AaeMQl13ZemPj2VaLj67QvjElpx/viDw?= =?Windows-1252?Q?nQtr4Rv+zOU4pR5lxZmVHxRLyGLCQXUzJROG30sz6SuLAmVvzUvOqiWB?= =?Windows-1252?Q?9KyNTBs4L3NN+N9e8spdt33h4aUSJwgDC6X5bfRzO9rllXl08jBUDZaK?= =?Windows-1252?Q?dww/WjD2p77Pp4afiTpYBTea+FD+m1BVDvSq4KcTEYRblHbEzSXUy6cG?= =?Windows-1252?Q?9Oj2OksD/Yph11Qa8CZz1nHbMr9kq0csPeoCZrpM4M/nZWXXpg6bcOog?= =?Windows-1252?Q?3MLtsQh08lQvNtP9M/oEz+OGjqR5RB8IPuRtNhW+vIE7SDVuMmRvwUBq?= =?Windows-1252?Q?BZnCpcHeqavZCEnthMHcizGzBskwxs4WEYRiiYcpaFwf/uRHKNftJwWM?= =?Windows-1252?Q?BPUaevtkE0zwsWUHs1r2xl7zUbBOWzvsBogno9jxuQ0zHqMj+QCcgC6f?= =?Windows-1252?Q?sUrK63C8axUG7yKZW4WLBAyj5ZWgFRJ0dc8ejqR4I5PYfBC6A3Q2nW3d?= =?Windows-1252?Q?RTyUx191kd9Pf8Td1VgbPiYhI+9bVpsge5uZaoRT71XvUNrUha+LYgXt?= =?Windows-1252?Q?XsTUDfRO87RIyuYicSdTWOWhNQKqXifyNCavo4mzw63lCVeChZorqISw?= =?Windows-1252?Q?yVrmH/TKIcmoTOdtpJ5nSPZu38zuE/h8o2Ri+cI1HpbFUYeGBttUksmM?= =?Windows-1252?Q?BPgI07JbVLCadbAuGiB4CtZjc++2z1Mk818mZpoy5DSZHn5rCDWJJiJY?= =?Windows-1252?Q?Y38joO7KVsb+cvCbuqViB7ZdASGoKJDb7dvb/OXsQ+AcYn8nRGGZhrqD?= =?Windows-1252?Q?M5tt4b1kkka9CyoIgrz1/kLpNoMeyICdxfQVffWJa1GMnIOMJr3er2cC?= =?Windows-1252?Q?ixz58su8I4+z5v/3daZwRucgQLn3X9WBgRLWoaKLEmb/goIkrWDpU0zU?= =?Windows-1252?Q?LMSS5ikJFIFG04B/fLtE8QvJ+ZoEFb+YblNGtXG9C6C7XcKhAM0+XySF?= =?Windows-1252?Q?4UIe8IcUEqe+DCd0Kvp2uZlgXmzF+EgZ/95iQ0Qgsz7NKMuNhdFJxUXr?= =?Windows-1252?Q?j5hmUUU7mGFFbfih3aeiSaAZntp9o+nrKC8RjBs+uesU6ulGy7XJ3LAp?= =?Windows-1252?Q?3ljzO11x0nhUB0J7y58etXTTy2JveXWY9bribxHLd0sEnUlrQp7TWmXT?= =?Windows-1252?Q?Rnep95lXDVKgnT/HRcIttfKF607Q8RG4tDQXbbX9ym70xW9e8wVWAJtp?= =?Windows-1252?Q?q/NQ6m7XERHNxajmBhHlipRoGhl/GlGikmHK1yo4uTFQYPSyrtqG5RDl?= =?Windows-1252?Q?z5rQDxhCCyk0OUM/2MpUadFomg+GXf/Yn1i+9BLW5Zo77S2OAwn31tIR?= =?Windows-1252?Q?Uokebmv4qBh49OOEPryH9x4gd7j/CZxb891e53w+Z7xuitROWrPygNyg?= =?Windows-1252?Q?yrfvdve/6RoEYtaR/UEs/X+Bjc4m9BZGY9X8zvR0Bp3mwW9gNtAkP7PP?= =?Windows-1252?Q?GOJ8bCjmfWxIohaQH2RCrnjUaufgK9TLtJ3gWeSUWoed12H68Q+iORCm?= =?Windows-1252?Q?PcHDtom9BTfBC+ulc34zB39oRW8xAzg8pl2zib0U4lqloMtKYreagl+f?= =?Windows-1252?Q?/nTWS/h8j8ddOim6mh8orpUkstQAQgOiv2Z4MiUQA1+/XlfTfJX0m6PU?= =?Windows-1252?Q?bAg3foohP1NfGrumDNwjJq0fMVMmg2vMjIrGimM0LnII30dI4Qfl9/4/?= =?Windows-1252?Q?+oJP/PDf9Tbn1bscaogl7mNxIu5ybbv84CUeBRv2mWzBCtyrECr/nesP?= =?Windows-1252?Q?P0JK6hrmQ8c3eIImQR7aEKOiM/8=3D?= Content-Type: multipart/alternative; boundary="_000_CO6PR02MB88206875CDC074B4C5A91804F508ACO6PR02MB8820namp_" MIME-Version: 1.0 X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO6PR02MB8820.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a12adb37-8b84-4e11-bbaa-08db94205f7d X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Aug 2023 12:51:36.4598 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: bb047546-786f-4de1-bd75-24e5b6f79043 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: CXSg6s+c+/tLTy6KaGnXNvgYClEQifRmUfFXD9Yi/5eumqRRawZjyWtPxckpljS042Spbumti4/GsSZc80GefXAgKpLBE/RyLca1r5Bcz4w= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM8PR02MB7989 X-Proofpoint-GUID: BfV7uoEVskyAel6WKCe6jC9qQMhyX9AJ X-Proofpoint-ORIG-GUID: BfV7uoEVskyAel6WKCe6jC9qQMhyX9AJ X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.591,FMLib:17.11.176.26 definitions=2023-08-03_12,2023-08-03_01,2023-05-22_02 X-Proofpoint-Spam-Reason: safe 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 --_000_CO6PR02MB88206875CDC074B4C5A91804F508ACO6PR02MB8820namp_ Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable 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=92t give =96static flag, I don=92t see -lrte_bus_pci (and -l= rte_bus_vdev, -lrte_mempool_ring). Attaching output, PKG_CONFIG_PATH=3Ddpdk/build/lib/pkgconfig pkg-config --libs libdpdk -Wl,--as-needed -L/home/nutanix/spdk/dpdk/build/lib -lrte_vhost -lrte_secur= ity -lrte_reorder -lrte_dmadev -lrte_power -lrte_cryptodev -lrte_compressde= v -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_tele= metry -lrte_kvargs Not sure if this is expected. 2. Missing constructor runs. Got your point. I=92m using pkg-config 0.27.1. Will check how to avoid the= automatic No Whole Archive thing. Still not sure about point 1 though. 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=92m consuming dpdk via spdk. > I was trying to use pkg-config for a Makefile that I=92m writing, > Executing: > > PKG_CONFIG_PATH=3Ddpdk/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_powe= r > -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=92ll see -l:librte_bus_pci.a -l:librte_bus_vdev.= a > -l:librte_mempool_ring.a, but you won=92t find corresponding > -lrte_bus_pci, -lrte_bus_vdev, -lrte_mempool_ring. This showed up in m= y > use case as rte_mempool_ring has some functions which execute on > startup via __attribute__((constructor)), and they did not execute thu= s > 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] https://urldefense.proofpoint.com/v2/url?u=3Dhttps-3A__doc.dpdk.org_gui= des-2D23.07_linux-5Fgsg_sys-5Freqs.html-23compilation-2Dof-2Dthe-2Ddpdk&d= =3DDwIDaQ&c=3Ds883GpUCOChKOHiocYtGcg&r=3DUaVZAw32qzYwqV0iyjkICkaNhB8peZhhEJ= Ss22LHVbI&m=3DNHXDGIxEa3NlLGmshhz7un6SMT4NlACKBYA39xVBj3VGki9GCytR-HAHnQi0c= M4S&s=3DOSlZ0EizFQ8Xa1HkrPrAywHi_kuZHJHhTe48KKtL-AA&e=3D --_000_CO6PR02MB88206875CDC074B4C5A91804F508ACO6PR02MB8820namp_ Content-Type: text/html; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable

Hi Bruce,
Thanks for taking a look at this.

Talking about the issues you pointed,
1. Absense of -lrte_bus_pci and sim= ilar flags
Even if I don=92t give =96static flag, I don=92t see -lrte_bus_pci (and &nb= sp;-lrte_bus_vdev, -lrte_mempool_ring).
Attachin= g output,
PKG_CONFIG_PATH=3Ddpdk/build/lib/pkgconfig pkg-config --libs libdpdk

-Wl,--as-needed -L/home/nutanix/spdk/dpdk/build/lib -lrte_vhost -lr= te_security -lrte_reorder -lrte_dmadev -lrte_power -lrte_cryptodev -lrte_co= mpressdev -lrte_timer -lrte_hash -lrte_cmdline -lrte_pci -lrte_ethdev -lrte_meter -lrte_net -lrte_mbuf -lrte_mempool -lrt= e_rcu -lrte_ring -lrte_eal -lrte_telemetry -lrte_kvargs
Not sure if this is expected.

2
. Missing constructor runs.
Got your= point. I=92m using pkg-config  0.27.1. Will check how to avoid the au= tomatic No Whole Archive thing. Still not sure about point 1 though.

Regards,
Abhineet

 

From: Bruce Richardson &l= t;bruce.richardson@intel.com>
Date: Thursday, 3 August 2023 at 3:46 PM
To: Abhineet Pandey <abhineet.pandey@nutanix.com>
Cc: dev@dpdk.org <dev@dpdk.org>
Subject: Re: [Question/Issue] pkgconfig does not include dpdk/driver= s libs

On Thu, Aug 03, 2023 at 09:15:11AM +0000, Abhineet Pandey wrote= :
>    I=92m consuming dpdk via spdk.
>    I was trying to use pkg-config for a Makefile that I= =92m writing,
>    Executing:
>
>    PKG_CONFIG_PATH=3Ddpdk/build/lib/pkgconfig pkg-confi= g --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:li= brte_bus_pci.a
>    -l:librte_bus_vdev.a -l:librte_mempool_ring.a -l:lib= rte_vhost.a
>    -l:librte_security.a -l:librte_reorder.a -l:librte_p= ower.a
>    -l:librte_cryptodev.a -l:librte_compressdev.a -l:lib= rte_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_m= buf -lrte_mempool
>    -lrte_rcu -lrte_ring -lrte_eal -lrte_telemetry -lrte= _kvargs -lm -ldl
>    -lnuma
>    At a closer look, you=92ll see -l:librte_bus_pci.a -= l:librte_bus_vdev.a
>    -l:librte_mempool_ring.a, but you won=92t find corre= sponding
>    -lrte_bus_pci, -lrte_bus_vdev, -lrte_mempool_ring. T= his showed up in my
>    use case as rte_mempool_ring has some functions whic= h execute on
>    startup via __attribute__((constructor)), and they d= id 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<= br> 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] https://urldefense.proofpoint.com/v2/url?u=3Dhttps-3A__doc.dpdk.org_guides-= 2D23.07_linux-5Fgsg_sys-5Freqs.html-23compilation-2Dof-2Dthe-2Ddpdk&d= =3DDwIDaQ&c=3Ds883GpUCOChKOHiocYtGcg&r=3DUaVZAw32qzYwqV0iyjkICkaNhB= 8peZhhEJSs22LHVbI&m=3DNHXDGIxEa3NlLGmshhz7un6SMT4NlACKBYA39xVBj3VGki9GC= ytR-HAHnQi0cM4S&s=3DOSlZ0EizFQ8Xa1HkrPrAywHi_kuZHJHhTe48KKtL-AA&e= =3D

--_000_CO6PR02MB88206875CDC074B4C5A91804F508ACO6PR02MB8820namp_--