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 BF2EAA00E6 for ; Tue, 9 Jul 2019 00:09:43 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 920991B953; Tue, 9 Jul 2019 00:09:43 +0200 (CEST) Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-oln040092071058.outbound.protection.outlook.com [40.92.71.58]) by dpdk.org (Postfix) with ESMTP id F10D058C6 for ; Mon, 8 Jul 2019 23:16:52 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ZOb252hlsJyVDsTXUsw3UeGsgJUQ85g8XTSopOXGgOQ=; b=Ny2NO1MA07ZZRQgqBzwS/z4wNSudnpxRo3OW/WxgPs76S6d+nqAr8YX8Gj8kitZkHCJAvXi7yhR8dc76GvP1qieYlREWoWXmoyySWWw+L3lrypbCmFosWmMBBANk/+8P/88ERBA6rUv8rE+y09NEiIS0JmMoNkNho6JUSCqPs5wWfLIkDTlm5o+mQdBU3RWTjHjyQHigUQ+Jk8KbKdmP+aeY2xzKcZKloXe9Fv/uFf+loytIjl/whxGMwSIfoQYJ2/84D/U+9iJnSdr7vWtKT1iu6pzsNiHnkqI6RonRkIzj6GOh+2qCop2tyHZ9WXiASTQMAcOZl8i5M1MWa4RugQ== Received: from VE1EUR03FT006.eop-EUR03.prod.protection.outlook.com (10.152.18.55) by VE1EUR03HT205.eop-EUR03.prod.protection.outlook.com (10.152.18.186) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.2052.18; Mon, 8 Jul 2019 21:16:52 +0000 Received: from AM0PR0402MB3826.eurprd04.prod.outlook.com (10.152.18.60) by VE1EUR03FT006.mail.protection.outlook.com (10.152.18.116) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.2052.18 via Frontend Transport; Mon, 8 Jul 2019 21:16:52 +0000 Received: from AM0PR0402MB3826.eurprd04.prod.outlook.com ([fe80::44d5:2305:1148:5667]) by AM0PR0402MB3826.eurprd04.prod.outlook.com ([fe80::44d5:2305:1148:5667%5]) with mapi id 15.20.2052.020; Mon, 8 Jul 2019 21:16:52 +0000 From: Daniel Pharos To: "dev@dpdk.org" Thread-Topic: [dpdk-dev] Compilation failure when disabling Cavium OCTEONTX network PMD driver Thread-Index: AQHVNMP+K0aSzwClZUW/aPy61YrRF6a/N5QQgAAIOwCAACHr4IAABI2AgAGUbiCAAB9IgIAAFYzAgAAKtlA= Date: Mon, 8 Jul 2019 21:16:52 +0000 Message-ID: References: , In-Reply-To: Accept-Language: nl-NL, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-incomingtopheadermarker: OriginalChecksum:56F5F4DB19D077CCA91AB2D869C07386CB673FAF8099F3D6903E25A2A8FF0426; UpperCasedChecksum:70B298E16AC13B92F7449A78F49D3B15C06D05FFE0AEF476C54136CF8EA07268; SizeAsReceived:7552; Count:42 x-tmn: [0lV7nwzp8gcGw0x9L5gYpeRz/XG/Sm4v] x-ms-publictraffictype: Email x-incomingheadercount: 42 x-eopattributedmessage: 0 x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(5050001)(7020095)(20181119110)(201702061078)(5061506573)(5061507331)(1603103135)(2017031320274)(2017031322404)(2017031323274)(2017031324274)(1601125500)(1603101475)(1701031045); SRVR:VE1EUR03HT205; x-ms-traffictypediagnostic: VE1EUR03HT205: x-microsoft-antispam-message-info: 3hlW9o85gxDo86dLEQHg9bo90ZSFx84mdT5R/czvQKZ6R6OJemp8i9T5Ptour954Snl6PamdR5C8BoKLmjtIS7hTCqokrbMKymYGAuWd4krOTOd/YAB6Hm4tHPDYhiZnkEdJTiEFQ8Qa490KuSuBUfepnAViC2ZV5qF6XEPyazHfoqkoE99de3CC/BHPnAM8 MIME-Version: 1.0 X-OriginatorOrg: hotmail.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: d760b3e7-9161-4fb1-3905-08d703e998c3 X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Jul 2019 21:16:52.0509 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Internet X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1EUR03HT205 X-Mailman-Approved-At: Tue, 09 Jul 2019 00:09:42 +0200 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: Re: [dpdk-dev] Compilation failure when disabling Cavium OCTEONTX network PMD driver 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" Huh, looks like I've been hitting "Reply" instead of the required "Reply al= l", and the mailing list got dropped from the CC. Below is our conversation= so far (might be incomplete). Kind regards, DanielPharos From: Daniel Pharos Sent: 08 July 2019 22:50 To: Jerin Jacob Kollanukkaran Subject: RE: [dpdk-dev] Compilation failure when disabling Cavium OCTEONTX = network PMD driver > Looks at the decencies, You cannot document this as it is not scale to do= cument this for every driver. > LDLIBS +=3D -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring -lrte_ethdev -l= rte_net -lrte_kvargs -lrte_common_octeontx -lrte_eventdev -lrte_bus_pci -lr= te_bus_vdev If it's too complex to even document, that's basically an admission one can= 't do it by hand either. All the more reason to have some automated script = do the work. > I know you cannot create nice patch with that approach. I've seen configure+makefiles that do just that. It's a shame the way you'v= e chosen to organize things cannot support this. > use meson build if care about build time. It is super fast. If your compile-process is spending more time in the makefile than actually= compiling, you are doing it wrong. But hey, maybe you are right. Please te= ll me how to have meson build only the drivers that I need, with automatic = dependency-resolving. Kind regards, DanielPharos From: Jerin Jacob Kollanukkaran > Sent: 08 July 2019 21:17 To: Daniel Pharos > Subject: RE: [dpdk-dev] Compilation failure when disabling Cavium OCTEONTX = network PMD driver From: Daniel Pharos > Sent: Monday, July 8, 2019 11:17 PM To: Jerin Jacob Kollanukkaran > Subject: [EXT] RE: [dpdk-dev] Compilation failure when disabling Cavium OCT= EONTX network PMD driver External Email ________________________________ > What is the difference between comment and expressing in makefile. It is = already depected in makefile. When toggling the config options, I'm already in the config file. I shouldn= 't have to open the makefile as well to manually read all the various LDLIB= S lines, figure out which configuration option belongs to the library name = it references, then go back to the config file to modify it, and then repea= t the process for its dependencies as well. [Jerin] Looks at the decencies, You cannot document this as it is not scale= to document this for every driver. LDLIBS +=3D -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring -lrte_ethdev -lrt= e_net -lrte_kvargs -lrte_common_octeontx -lrte_eventdev -lrte_bus_pci -lrte= _bus_vdev > Send a patch if you think there is change required. Since this would be something that would need to be enforced, it would need= broad support to be maintained, something that appears to be lacking at th= e moment, even though we've just demonstrated its added value. So I'm not g= oing to invest my time to make a nice patch; I'll just hack something toget= her privately. [Jerin] I know you cannot create nice patch with that approach. > BTW, Any reason for disabling the config in first place, Is it to reduce = the space? It's mostly to reduce compile time. Why spend lots of CPU cycles (re-)compi= ling drivers and libraries I can't even use, because I don't have the hardw= are? Also, I'm of the "only compile what you need, the rest is a (security?= ) incident waiting to happen"-school. And finally, when building high-perfo= rmance systems, I'd like to reduce the amount of bloatware it contains (yes= , even if it doesn't get loaded). So personally, I'd ask the question the o= ther way around: why are you (not you personally!) making me compile stuff = I'm never going to need or use? [Jerin] use meson build if care about build time. It is super fast. Kind regards, DanielPharos From: Jerin Jacob Kollanukkaran > Sent: 07 July 2019 19:18 To: Daniel Pharos > Subject: Re: [dpdk-dev] Compilation failure when disabling Cavium OCTEONTX = network PMD driver What is the difference between comment and expressing in makefile. It is al= ready depected in makefile. Send a patch if you think there is change requi= red. BTW, Any reason for disabling the config in first place, Is it to redu= ce the space? ________________________________ From: Daniel Pharos > Sent: Sunday, July 7, 2019 10:35:34 PM To: Jerin Jacob Kollanukkaran Subject: [EXT] RE: [dpdk-dev] Compilation failure when disabling Cavium OCT= EONTX network PMD driver External Email ---------------------------------------------------------------------- > Like linux kernel Kconfig we don't have means to express the dependency I= n Kconfig. Yes you do. You can add a comment explaining the dependencies, so I don't h= ave to go through multiple "compile -> fail -> guess which option I need to= turn off -> retry" cycles. Heck, the very fact that your first answer got = it wrong (as in: it was incomplete) strongly suggests this needs to be docu= mented in the one place where people messing with the options will see it: = as a comment line right next to the relevant option. Kind regards, DanielPharos -----Original Message----- From: Jerin Jacob Kollanukkaran > Sent: 07 July 2019 17:00 To: Daniel Pharos > Subject: RE: [dpdk-dev] Compilation failure when disabling Cavium OCTEONTX = network PMD driver > -----Original Message----- > From: Daniel Pharos > > Sent: Sunday, July 7, 2019 8:03 PM > To: Jerin Jacob Kollanukkaran > > Subject: [EXT] RE: [dpdk-dev] Compilation failure when disabling > Cavium OCTEONTX network PMD driver > > External Email > > ---------------------------------------------------------------------- > Hi, > > It would be nice if the config/make file complained about such > incompatible settings. Also, that still doesn't work: The makefile already has dependency[1] for the specific driver. Like linux kernel Kconfig we don't have means to express the dependency In = Kconfig. [1] drivers/net/octeontx/Makefile LDLIBS +=3D -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring LDLIBS +=3D -lrte= _ethdev -lrte_net -lrte_kvargs -lrte_common_octeontx LDLIBS +=3D -lrte_memp= ool_octeontx LDLIBS +=3D -lrte_eventdev LDLIBS +=3D -lrte_bus_pci LDLIBS += =3D -lrte_bus_vdev It would be nice if the config/make file complained about such incompatible= settings. Also, that still doesn't work: /home/ubuntu/Downloads/dpdk-19.05/build/lib/librte_mempool_octeontx.a(octeo= ntx_fpavf.o): In function `octeontx_fpapf_pool_setup': octeontx_fpavf.c:(.text+0x318): undefined reference to `octeontx_mbox_send' /home/ubuntu/Downloads/dpdk-19.05/build/lib/librte_mempool_octeontx.a(octeo= ntx_fpavf.o): In function `octeontx_fpapf_pool_destroy': octeontx_fpavf.c:(.text+0x465): undefined reference to `octeontx_mbox_send' /home/ubuntu/Downloads/dpdk-19.05/build/lib/librte_mempool_octeontx.a(octeo= ntx_fpavf.o): In function `octeontx_fpapf_aura_attach': octeontx_fpavf.c:(.text+0x538): undefined reference to `octeontx_mbox_send' /home/ubuntu/Downloads/dpdk-19.05/build/lib/librte_mempool_octeontx.a(octeo= ntx_fpavf.o): In function `octeontx_fpapf_aura_detach': octeontx_fpavf.c:(.text+0x681): undefined reference to `octeontx_mbox_send' /home/ubuntu/Downloads/dpdk-19.05/build/lib/librte_mempool_octeontx.a(octeo= ntx_fpavf.o): In function `octeontx_fpapf_start_count': octeontx_fpavf.c:(.text+0x7f8): undefined reference to `octeontx_mbox_send' collect2: error: ld returned 1 exit status /home/ubuntu/Downloads/dpdk-19.05/mk/rte.app.mk:404: recipe for target 'tes= t' failed make[3]: *** [test] Error 1 /home/ubuntu/Downloads/dpdk-19.05/mk/rte.subdir.mk:35: recipe for target 't= est' failed make[2]: *** [test] Error 2 /home/ubuntu/Downloads/dpdk-19.05/mk/rte.sdkbuild.mk:46: recipe for target = 'app' failed make[1]: *** [app] Error 2 /home/ubuntu/Downloads/dpdk-19.05/mk/rte.sdkroot.mk:98: recipe for target '= all' failed make: *** [all] Error 2 (And yes, I did start with a clean extract from the tarball.) I suspect there are more hidden dependencies than just that one. This compi= lation failure seems to suggest CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOOL is also = involved... Kind regards, DanielPharos