[dpdk-dev] [PATCH] ethdev: fix dpdk gcc build on Arm

Juraj Linkeš juraj.linkes at pantheon.tech
Wed Jun 3 12:47:09 CEST 2020



-----Original Message-----
From: Thomas Monjalon <thomas at monjalon.net> 
Sent: Wednesday, June 3, 2020 12:17 PM
To: Juraj Linkeš <juraj.linkes at pantheon.tech>
Cc: ferruh.yigit at intel.com; arybchenko at solarflare.com; dev at dpdk.org
Subject: Re: [PATCH] ethdev: fix dpdk gcc build on Arm

03/06/2020 11:48, Juraj Linkeš:
> Directive #include <file> in gcc implementation searches for files in 
> a standard list of system directories, which leads to a sporadici 
> build error on Taishan arm machines:
> /tmp/openvpp-testing/dpdk/lib/librte_ethdev/rte_ethdev.h:4287:10:
> fatal error: rte_ethdev_core.h:
> No such file or directory #include <rte_ethdev_core.h>

Would be interesting to know why nobody else hit such error?


> Fix this by replacing the directive with #include "file" which 
> searches for files first in the directory containing the current file 
> and other directories only after that.
> 
> Signed-off-by: Juraj Linkeš <juraj.linkes at pantheon.tech>

What about #include <rte_ethdev_trace.h> ?

I only changed the .h files since that was enough to fix the issue, but I'll add that include as well.

Except this,
Acked-by: Thomas Monjalon <thomas at monjalon.net>


I would change the title to be more generic (nothing specific to gcc or Arm here):
	ethdev: fix local include

According to my research, the handling of include directives could be differenct across compilers so I made it specific, as I only looked at how gcc does it. The implementations are probably basically the same, so I'll change to wording so it's generic.

It needs to be backported, so these lines are required:
	Fixes: 7f0a669e7b04 ("ethdev: add allocation helper for virtual drivers")
	Fixes: dcd5c8112bc3 ("ethdev: add PCI driver helpers")
	Fixes: ffc905f3b856 ("ethdev: separate driver APIs")
	Fixes: 331c447ad913 ("ethdev: separate internal structures into own header")
	Cc: stable at dpdk.org

I didn't know which patches this fixes, so I'll add this. How should I figure this out? Just look at which patch(es) changed the lines I'm modifying?



More information about the dev mailing list