DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] Non-deterministic build failure in rte_ethdev.h:4287:10 on Taishan ARM server
@ 2020-06-01 12:45 Juraj Linkeš
  2020-06-01 14:36 ` Jerin Jacob
  0 siblings, 1 reply; 4+ messages in thread
From: Juraj Linkeš @ 2020-06-01 12:45 UTC (permalink / raw)
  To: dev

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>
          ^~~~~~~~~~~~~~~~~~~
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

This doesn't happen every time. It took me five builds on two machines (for a total of 10 builds) to hit this issue, but it did eventually happen. I tried this with 20.02 at first and it seemed to be happening more frequently, but I don't have enough data to really tell if there's an actual difference in frequency.

We're not doing anything special, just downloading and extracting the archive, then setting CONFIG_RTE_LIBRTE_MLX5_PMD and CONFIG_RTE_LIBRTE_I40E_16BYTE_RX_DESC to y in config/common_base and then running make install T=arm64-armv8a-linuxapp-gcc -j. As mentioned in the subject, the build server is a Taishan ARM server.

Any ideas on how to fix (or workaround) this? Is there a chance meson build would fix this? If so, how do we make sure we build testpmd with mxl5 support and how do we set CONFIG_RTE_LIBRTE_I40E_16BYTE_RX_DESC with meson build?

Thanks,
Juraj

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [dpdk-dev] Non-deterministic build failure in rte_ethdev.h:4287:10 on Taishan ARM server
  2020-06-01 12:45 [dpdk-dev] Non-deterministic build failure in rte_ethdev.h:4287:10 on Taishan ARM server Juraj Linkeš
@ 2020-06-01 14:36 ` Jerin Jacob
  2020-06-02  7:13   ` Juraj Linkeš
  0 siblings, 1 reply; 4+ messages in thread
From: Jerin Jacob @ 2020-06-01 14:36 UTC (permalink / raw)
  To: Juraj Linkeš; +Cc: dev

On Mon, Jun 1, 2020 at 6:15 PM Juraj Linkeš <juraj.linkes@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
>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [dpdk-dev] Non-deterministic build failure in rte_ethdev.h:4287:10 on Taishan ARM server
  2020-06-01 14:36 ` Jerin Jacob
@ 2020-06-02  7:13   ` Juraj Linkeš
  2020-06-02  9:08     ` Jerin Jacob
  0 siblings, 1 reply; 4+ messages in thread
From: Juraj Linkeš @ 2020-06-02  7:13 UTC (permalink / raw)
  To: Jerin Jacob; +Cc: dev

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?

Thanks,
Juraj

-----Original Message-----
From: Jerin Jacob <jerinjacobk@gmail.com> 
Sent: Monday, June 1, 2020 4:37 PM
To: Juraj Linkeš <juraj.linkes@pantheon.tech>
Cc: dev@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@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
>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [dpdk-dev] Non-deterministic build failure in rte_ethdev.h:4287:10 on Taishan ARM server
  2020-06-02  7:13   ` Juraj Linkeš
@ 2020-06-02  9:08     ` Jerin Jacob
  0 siblings, 0 replies; 4+ messages in thread
From: Jerin Jacob @ 2020-06-02  9:08 UTC (permalink / raw)
  To: Juraj Linkeš; +Cc: dev

On Tue, Jun 2, 2020 at 12:43 PM Juraj Linkeš <juraj.linkes@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@gmail.com>
> Sent: Monday, June 1, 2020 4:37 PM
> To: Juraj Linkeš <juraj.linkes@pantheon.tech>
> Cc: dev@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@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
> >

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-06-02  9:08 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-01 12:45 [dpdk-dev] Non-deterministic build failure in rte_ethdev.h:4287:10 on Taishan ARM server Juraj Linkeš
2020-06-01 14:36 ` Jerin Jacob
2020-06-02  7:13   ` Juraj Linkeš
2020-06-02  9:08     ` Jerin Jacob

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).