[dpdk-dev] Non-deterministic build failure in rte_ethdev.h:4287:10 on Taishan ARM server

Jerin Jacob jerinjacobk at gmail.com
Tue Jun 2 11:08:09 CEST 2020


On Tue, Jun 2, 2020 at 12:43 PM Juraj Linkeš <juraj.linkes at pantheon.tech> wrote:
>
> Hi Jerin,
>
> I forgot to mention that I'm using GCC 8 and this fixed the issue. A bit of googling illuminated why this could be so, according to https://gcc.gnu.org/onlinedocs/cpp/Include-Syntax.html, the angle brackets directive looks for files in a standard list of system directories while the quotes directive looks in the directory containing the current file first. What it doesn't really explain is the random failues. Any idea why it sometimes built fine and sometimes it errored? Some race condition perhaps?

it is racy due to the fact that rte_ethdev_core.h need to show up in
build/include/ before .c file compiles in order to make #include <>
works. In case of #include "", that dependency is not there.
Makefile file infrastructure is not defining the dependency anywhere.


>
> Thanks,
> Juraj
>
> -----Original Message-----
> From: Jerin Jacob <jerinjacobk at gmail.com>
> Sent: Monday, June 1, 2020 4:37 PM
> To: Juraj Linkeš <juraj.linkes at pantheon.tech>
> Cc: dev at dpdk.org
> Subject: Re: [dpdk-dev] Non-deterministic build failure in rte_ethdev.h:4287:10 on Taishan ARM server
>
> On Mon, Jun 1, 2020 at 6:15 PM Juraj Linkeš <juraj.linkes at pantheon.tech> wrote:
> >
> > Hi DPDK devs,
> >
> > I'm hitting a build failure with dpdk 20.02.1 with rte_ethdev.h that's happening seemingly at random:
> > make install T=arm64-armv8a-linuxapp-gcc -j In file included from
> > /tmp/openvpp-testing/dpdk/lib/librte_ethdev/rte_class_eth.c:13:0:
> > /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>
> >           ^~~~~~~~~~~~~~~~~~~
>
>
> Try as  #include "rte_ethdev_core.h" instead of #include <rte_ethdev_core.h>
>
> > compilation terminated.
> > make[5]: *** [rte_class_eth.o] Error 1
> > make[5]: *** Waiting for unfinished jobs....
> > make[4]: *** [librte_ethdev] Error 2
> > make[3]: *** [lib] Error 2
> > make[2]: *** [all] Error 2
> > make[1]: *** [pre_install] Error 2
> > make: *** [install] Error 2
> >
> > Full log here:
> > https://logs.fd.io/production/vex-yul-rot-jenkins-1/csit-dpdk-perf-verify-master-3n-tsh/11/archives/log.html.gz
> >


More information about the dev mailing list