From 91ff7a3f99ecb6e1e849bb9ee0b58b22d0be0b5a Mon Sep 17 00:00:00 2001 From: =?utf8?q?Juraj=20Linke=C5=A1?= Date: Mon, 1 Jun 2020 10:40:52 +0200 Subject: [PATCH] Fix DPDK build on arm MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Directive #include in GCC implementation searches for files in a standard list of system directories, which leads to a 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 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. Change-Id: If283b81c992c001a2f980312cdd99053c3d703d9 Signed-off-by: Juraj Linkeš --- resources/libraries/bash/function/dpdk.sh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/resources/libraries/bash/function/dpdk.sh b/resources/libraries/bash/function/dpdk.sh index 1654cf811b..4298e79e62 100644 --- a/resources/libraries/bash/function/dpdk.sh +++ b/resources/libraries/bash/function/dpdk.sh @@ -108,6 +108,12 @@ function dpdk_compile () { sed -i "${sed_i40e}" "${sed_file}" || die "Patch failed" + sed_build_fix='s/#include <\(rte_ethdev.*.h\)>/#include "\1"/g' + # can't put the filename in quotes so that shell expands it + sed -i "${sed_build_fix}" ./lib/librte_ethdev/rte_ethdev*.h || { + die "DPDK build patch failed" + } + # Compile make install T="${arch}"-"${machine}"-linuxapp-gcc -j || { die "Failed to compile DPDK!" -- 2.16.6