On Tue, Apr 25, 2017 at 03:31:45PM +0000, De Lara Guarch, Pablo wrote: > Hi Adrien, > > > -----Original Message----- > > From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Adrien Mazarguil > > Sent: Tuesday, April 25, 2017 9:30 AM > > To: dev@dpdk.org > > Cc: Jerin Jacob > > Subject: [dpdk-dev] [PATCH v2 02/13] eventdev: fix errors with strict > > compilation flags > > > > Exported headers must allow compilation with the strictest flags. This > > commit addresses the following errors: > > > > In file included from build/include/rte_eventdev_pmd.h:55:0, > > from /tmp/check-includes.sh.25816.c:1: > > build/include/rte_eventdev.h:908:8: error: struct has no named members > > [-Werror=pedantic] > > [...] > > In file included from /tmp/check-includes.sh.25816.c:1:0: > > build/include/rte_eventdev_pmd.h:65:35: error: ISO C does not permit > > named > > variadic macros [-Werror=variadic-macros] > > [...] > > > > Also enabling RTE_LIBRTE_EVENTDEV_DEBUG causes redefinitions: > > > > In file included from /tmp/check-includes.sh.18921.c:27:0: > > build/include/rte_eventdev_pmd.h:58:0: error: > > "RTE_PMD_DEBUG_TRACE" > > redefined [-Werror] > > [...] > > > > Rely on the rte_ethdev.h version instead. > > > > Fixes: 71f238432865 ("eventdev: introduce event driven programming > > model") > > Fixes: 4f0804bbdfb9 ("eventdev: implement the northbound APIs") > > > > Cc: Jerin Jacob <jerin.ja...@caviumnetworks.com> > > Signed-off-by: Adrien Mazarguil <adrien.mazarg...@6wind.com> > > I am seeing the following error due to this patch: > In file included from > /root/tmp/dpdk-17.05-rc2/lib/librte_eventdev/rte_eventdev.c:62:0: > /root/tmp/dpdk-17.05-rc2/lib/librte_eventdev/rte_eventdev_pmd.h:54:24: fatal > error: rte_ethdev.h: No such file or directory > #include <rte_ethdev.h> > > It only happens when I compile with "-j", so it looks like dependencies have > to be fixed?
You're right, actually rte_eventdev_pmd.h is not even supposed to have a dependency on rte_ethdev.h. The problem comes from RTE_FUNC_PTR_OR_ERR_RET() defined in rte_dev.h, itself relying on the RTE_PMD_DEBUG_TRACE() macro without any kind of dependency. This makes no sense, RTE_PMD_DEBUG_TRACE() should be defined along with rte_pmd_debug_trace() in rte_dev.h. I'll move this fix to a separate commit to remove all duplicate definitions. -- Adrien Mazarguil 6WIND