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 17114A0A02; Tue, 18 May 2021 16:33:56 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9E71E4068E; Tue, 18 May 2021 16:33:55 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id 1EE4F40041 for ; Tue, 18 May 2021 16:33:54 +0200 (CEST) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 14IEUPHv009807; Tue, 18 May 2021 07:33:53 -0700 Received: from nam02-sn1-obe.outbound.protection.outlook.com (mail-sn1anam02lp2042.outbound.protection.outlook.com [104.47.57.42]) by mx0b-0016f401.pphosted.com with ESMTP id 38kmf15gxy-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 18 May 2021 07:33:53 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RpKwpJR8mim8YDnZG1RdL7PSAEwVWO77sUAhXUTKB+ZOAX5W/jA7VJtheUZ+YuN4Xdi2kEbcDhzrkuahgR/Q9uHH4oGYkWEYjUfD3bnAHXzmvXR56HMLau9NcsLGPqIKatXbfNRDrQLsKnvj5EAHqmNOt/1IN5fEItmF34+grNyiBw6z8FRpGndbFb7gJnykicFdzKrq9DYH3Tf+Fet000UBgJcCqi8mbzY9Og7mo7ZCWE/NjKJgoKKVkcwPKul8ZbuUy9N/xiRojRVmxqxygVWlbLe0ZK95JOSTDpcKYKasU/+QIEL6GwpazycpjfOtNcxfoztL09Crynv5UdQE7A== 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-SenderADCheck; bh=hn+0C0lL6VtQhSSdm2mAtDQEDdqV8tiHoB1M1osRzS8=; b=Vq2U1BlhHooY6JoYUPjltMWkDvtqVlodealJKUFQoZgY3gKdfPcaPjnsePV40po8MvLMtPUrXL9d0LD4hpKWlrAvPDZCy9ojBacr4sFkiZGV/uWdHf4SUSRZ8kd/Y8lnUcsAo5lGJHnMy2cPeM0Xl3d0jweThXcYsVy4F1gkgsGrjloM7wd1McGaMQRp3zk6jt0UpCXwpRQvwMCECasT7jdqXcV2MymiLdHPyr2y5iEymPEdT0cjfErdbl6rcaDNpn8pbPv/prsXb+nk7p3ooLTLxxE7XBcQisO60QajwgxNOJjeVn5/I9eWz9UR20jUBnuB912BKxy9C24v5f3+1w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector1-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=hn+0C0lL6VtQhSSdm2mAtDQEDdqV8tiHoB1M1osRzS8=; b=X2IlpuzKJxtJa/nXu+DR+SXyKDmI6Iw6SEXEP1cyTNoqd3omjvo/p22dScWIyIHXBpdOjo68A7IEnkWL06HsxAzd0MVzakNiP17m2Cb0ztmehPOAHLc8l6xKcSc/Z7nm2BZtipzQwjOmXs/P9VoQy7kZULuclHUixU+WHAtImoM= Received: from CY4PR1801MB1911.namprd18.prod.outlook.com (2603:10b6:910:7b::20) by CY4PR18MB1365.namprd18.prod.outlook.com (2603:10b6:903:14b::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4129.25; Tue, 18 May 2021 14:33:50 +0000 Received: from CY4PR1801MB1911.namprd18.prod.outlook.com ([fe80::a8e9:5be0:6f53:7d93]) by CY4PR1801MB1911.namprd18.prod.outlook.com ([fe80::a8e9:5be0:6f53:7d93%4]) with mapi id 15.20.4129.032; Tue, 18 May 2021 14:33:50 +0000 From: Jakub Palider To: "dev@dpdk.org" CC: "bruce.richardson@intel.com" , "thomas@monjalon.net" , "david.marchand@redhat.com" Thread-Topic: Meson configuration for pkg-config for drivers' shared objects Thread-Index: AddL8X1Mfi6dmOMJQhi8I9dq7Sqd9g== Date: Tue, 18 May 2021 14:33:50 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dpdk.org; dkim=none (message not signed) header.d=none;dpdk.org; dmarc=none action=none header.from=marvell.com; x-originating-ip: [37.47.72.193] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: d169c626-2198-405a-e44a-08d91a09f445 x-ms-traffictypediagnostic: CY4PR18MB1365: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: I7ij9E7bCac2rDqRbihQ3W0rQvgdmAwqVbohDNlFYlb20/cbJfwbrmsR8xChsF5jI0d4uc3ViNjUYbltV/EFhIJv/inVmiStdZrLMrkr9s1s4z7iLo6DJ+MBs84zVvBlkeBOEwTnPYUc/23I9gha+EhGJF0fb4/GGxS/5z+e0adhU53Uz0jxW3mqXV+UROpuSUKBkVjDgaNhpHrhy93OySaJ5kUlSCRE/35q8GalinL1wl0DaqekLL+jmiF9WkCVot0J7NwYUFSrA4v7bp2MBV8K98ZbXnPfFPwBdodGG81HSD2qtDtkMGsk2u9a9nBIcrEygV88lCNB4bzsCelitsjo74vV8PPlI9oIVimLnx4/PgCUPdDvsv8hvOQP97dlvZxKz6/1sydLF8nzBNAwQH7VFhiK1ckbbLltycTNdIdSMArMKrMwP+T052lnBKyibMCPjVYAD8JFoae2nrBAgyJwZWLkn7N9LBtXOze4kgWY1BiXkD8qrbK5Tn2CxU+F6NrFrldqwwmeOTES8vWnj+NNDz1vonoFKtsc2HIwuJ764wXwXK9bQwvkpJDkIY8YwAzFW36wTLT32Fj5ynElExVK8iMUUQbgv+5vMdmyO4M= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CY4PR1801MB1911.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(39850400004)(346002)(376002)(396003)(136003)(66446008)(8676002)(64756008)(9686003)(26005)(55016002)(6916009)(66946007)(66476007)(76116006)(316002)(71200400001)(38100700002)(122000001)(54906003)(66556008)(52536014)(7696005)(6506007)(5660300002)(86362001)(8936002)(2906002)(4326008)(33656002)(186003)(478600001)(83380400001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?us-ascii?Q?LKiT4LjKuQ2Atfi+7gdfBFg+vS7wsr5JjZJQw+A+5K7/JDSUoDhDnrDJaBfD?= =?us-ascii?Q?/wtpw7I9QCIgqcidzLesTqRa6RlUXNHxoYaHTaNdR5ibOV8ExLEvuls4gzqB?= =?us-ascii?Q?scidGEjyhVOFbTztauOvFSBQyaVP40fh7JLIdAppW4g7Gr35sji5nz/xF6Rf?= =?us-ascii?Q?f0vwOqAeR9POmeLud4xue4/TRZmNm1JSiOwYWrWALAkZ10LGG75kB+VpSiH2?= =?us-ascii?Q?u91sW7g/O0MjquhlT3QzwMlZqC9Nakfno5PL5ScKLa2D3Xef9848XCZ/WC9Q?= =?us-ascii?Q?eeYPq+//1cg9Bil8RJ0OsWkj2qx4pmsqW0w+f5NJuuZpODnAgmHlRsFYLmLi?= =?us-ascii?Q?NKzmTbc/4g+V5vALYcjuj1uQhgKZYXH1mZ+ufDCVpYEghZIZnLY2vN3UQ08j?= =?us-ascii?Q?KkknH6TN87EY0sx+Zapr1BSR+0le13lAummQNUYMfL5vohfWIupu1w8j4Nkr?= =?us-ascii?Q?NQYTdSGfjAADAYpn3MnGJWP0dLD+zgFUnylQyR1Th0kIBZ8IhXP7LBBvu8P7?= =?us-ascii?Q?Tr62Exdfi32Urv3B8/4qRCxEuMFXjj3CBYHqCWK2h937xyjkaEm95jmJCl63?= =?us-ascii?Q?mmTDkR6i7U2lCe3s0gtjdQ0ki1xkWuFXPHMYrYQgSPYvozRFDZjfcAnPLaqU?= =?us-ascii?Q?Cz04tcEsln1cfkB9Mhs6z4YyjSW8Oho6sc0o2qohzw6tkwfaTGdoXISM3FYK?= =?us-ascii?Q?dSGMsoDDPNsdS0ullpadm9L+G0rGMLFuKrGxGWygctH8uhkEDamMlXi7jx2a?= =?us-ascii?Q?cENtEndUJcsv1W+KpLRuVuWvdNOWvduphfZ8U0KlryGBIC8m8DdQZON6z6LC?= =?us-ascii?Q?9OBT4ck1SXKTF3fqQcMOeASsoVQZLPhbR5c2aVc2tr1IscQaLnu+KRTyP3Nj?= =?us-ascii?Q?+8CsyrWB4ZB3IuSi2sfUfMcjPI9KbCf8np1PH5dRHDngmTka3AIZhkS2MsS3?= =?us-ascii?Q?6vuriMcQZoRnjEEMqIJGnE7Iyq3BC0sptnHX4a6aPhf93dFaUJskiPWaPfvt?= =?us-ascii?Q?Q4il5azfx6nWG6oPdz6gce75rAF02PgPG/y3tzIUckPBCPCaq4Jdj36T5tA9?= =?us-ascii?Q?CfLdwjaeKVL7HfGFzStSnDHdOAFAWR+DxeQVBDvlYXdkrjRRgDNxL0nD9yvd?= =?us-ascii?Q?i0amO0woxBgvTgVGntd+Ru/Z7ZqnK/3ta5DwPYQ/hKJgRcjq9MPJfGxnflbS?= =?us-ascii?Q?4W6Z0582n2zYBQy9shUC94mOV5L5kygd8V/fwI5cRWopzJEubgZMciqqpo4n?= =?us-ascii?Q?S1kP7qJ88chCLbvKJXVAZYobRiLmpnoycXEvCRJJUw1bXErpb6xhJmmgRwzE?= =?us-ascii?Q?oyo=3D?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: marvell.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CY4PR1801MB1911.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d169c626-2198-405a-e44a-08d91a09f445 X-MS-Exchange-CrossTenant-originalarrivaltime: 18 May 2021 14:33:50.3465 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: seYmQkxjj11CLSpUDSky+Z7yF5IRyUef0Am1UwHEfIQR6Sha0SSj5rFbVtR63/IetGAd6XxqgFXGRkxgtntq1A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR18MB1365 X-Proofpoint-ORIG-GUID: Uc0jRfptu6EGTUYAJkNckprvTifsBszR X-Proofpoint-GUID: Uc0jRfptu6EGTUYAJkNckprvTifsBszR X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.391, 18.0.761 definitions=2021-05-18_07:2021-05-18, 2021-05-18 signatures=0 Subject: [dpdk-dev] Meson configuration for pkg-config for drivers' shared objects 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 Sender: "dev" Hi, I experience a problem while building out-of-tree application against drive= rs' shared libraries from dpdk that are _not_ accessed by means of lib/ int= erface. This looks a bit like a lack of a link between the framework and wh= at certain drivers deliver (rte_pmd API). Employing pkg-config in current s= hape does not satisfy the dependencies. Please, have a look at the example below which materializes this problem of= an app.c: #include #include int main() { rte_ether_format_addr(NULL, 0, NULL); rte_pmd_i40e_set_vf_mac_addr(0, 0, NULL); } I want to use two symbols, one from librte_net and one from i40e net rte pm= d. 1. PLAIN compilation: complains about both of them, as expected: $ ${CROSS}-g++ -march=3Darmv8.1-a -o bin-app app.c /tmp/ccUac7fS.o: In function `main': app.c:(.text+0x114): undefined reference to `rte_ether_format_addr' app.c:(.text+0x124): undefined reference to `rte_pmd_i40e_set_vf_mac_addr' collect2: error: ld returned 1 exit status 2. PKGCONFIG asked to fill dependencies adds them for dpdk lib/ but i40e rt= e pmd is still missing: ${CROSS}-g++ -march=3Darmv8.1-a -o bin-app app.c $(pkg-config --libs libdpd= k) /tmp/ccYhiA3K.o: In function `main': app.c:(.text+0x124): undefined reference to `rte_pmd_i40e_set_vf_mac_addr' collect2: error: ld returned 1 exit status 3. WORKADOUND: which adds explicitly dependency for linker: ${CROSS}-g++ -march=3Darmv8.1-a -o bin-app app.c $(pkg-config --libs libdpd= k) -lrte_net_i40e The borderline is that I don't want to add them explicitly, but rather pkg-= config do this for me. This would be realized if driver's lib (which actual= ly gets built as .so) was added to meson's dpdk_libraries variable: my_lib_name =3D '_'.join(['rte', class, name]) shared_lib =3D shared_library(my_lib_name) dpdk_libraries =3D [shared_lib] + dpdk_libraries In such case $(pkg-config --libs libdpdk) would satisfy all dependencies. My questions are: 1. Is there a better approach to this problem than one mentioned by me? Am = I missing something? 2. Shall RTE PMD APIs of certain drivers be a part of dpdk default pkg-conf= ig configuration? I have learned there used to be libdpdk.so but this is no longer applicable= , also this is not a plugin-alike issue. So I hope I am not duplicating top= ics - I could not find anything resembling this one. Regards, Jakub