[meta-virtualization] [PATCH] ovs:fix cross compilation failure
zhe.he at windriver.com
zhe.he at windriver.com
Tue Jun 27 01:25:32 PDT 2017
From: He Zhe <zhe.he at windriver.com>
configure with_dpdk and cross compile fails with:
"configure: error: cannot check for file existence
when cross compiling"
This is due to the usages of AC_CHECK_FILES.
AC_CHECK_FILES only works when not cross compiling. It test
a feature of the host machine, and therefore, die when
cross-compiling.
The current patch put the check in condition, i.e. check only
if not cross-compiling.
This patch has been tested on ARM64 platform with DPDK16.07
UpstreamLink::https://mail.openvswitch.org/pipermail/ovs-dev/
2016-August/322005.html
Signed-off-by: Hemant Agrawal <hemant.agrawal at nxp.com>
Signed-off-by: Yadi.hu <yadi.hu at windriver.com>
[ Adjust context to apply. Note that this patch is from mailing
list but is not merged into upstream repo.]
Signed-off-by: He Zhe <zhe.he at windriver.com>
---
.../files/fix-cross-compilation-failure.patch | 21 +++++++++++++++++++++
recipes-networking/openvswitch/openvswitch_git.bb | 5 +++--
2 files changed, 24 insertions(+), 2 deletions(-)
create mode 100644 recipes-networking/openvswitch/files/fix-cross-compilation-failure.patch
diff --git a/recipes-networking/openvswitch/files/fix-cross-compilation-failure.patch b/recipes-networking/openvswitch/files/fix-cross-compilation-failure.patch
new file mode 100644
index 0000000..2d2851a
--- /dev/null
+++ b/recipes-networking/openvswitch/files/fix-cross-compilation-failure.patch
@@ -0,0 +1,21 @@
+openvswitch:fix cross compilation failure
+
+upstreamlink:https://mail.openvswitch.org/pipermail/ovs-dev/
+2016-August/322005.html
+
+--- git/acinclude.m4 2017-05-14 23:52:13.031712727 -0700
++++ git/acinclude.m4 2017-05-14 23:53:48.639691817 -0700
+@@ -180,9 +180,10 @@ AC_DEFUN([OVS_CHECK_DPDK], [
+ DPDK_INCLUDE="$with_dpdk/include"
+ # If 'with_dpdk' is passed install directory, point to headers
+ # installed in $DESTDIR/$prefix/include/dpdk
+- AC_CHECK_FILE([$DPDK_INCLUDE/rte_config.h], [],
+- [AC_CHECK_FILE([$DPDK_INCLUDE/dpdk/rte_config.h],
+- [DPDK_INCLUDE=$DPDK_INCLUDE/dpdk], [])])
++ if test ! -e "$DPDK_INCLUDE/rte_config.h" && \
++ test -e "$DPDK_INCLUDE/dpdk/rte_config.h"; then
++ DPDK_INCLUDE=$DPDK_INCLUDE/dpdk/rte_config.h
++ fi
+ DPDK_LIB_DIR="$with_dpdk/lib"
+ ;;
+ esac
diff --git a/recipes-networking/openvswitch/openvswitch_git.bb b/recipes-networking/openvswitch/openvswitch_git.bb
index 6ab0c40..9608095 100644
--- a/recipes-networking/openvswitch/openvswitch_git.bb
+++ b/recipes-networking/openvswitch/openvswitch_git.bb
@@ -30,12 +30,13 @@ SRC_URI = "file://openvswitch-switch \
file://0001-use-the-linux-if_packet.h-Interface-directly.patch \
file://0002-Define-WAIT_ANY-if-not-provided-by-system.patch \
file://CVE-2017-9263.patch \
+ file://fix-cross-compilation-failure.patch \
"
LIC_FILES_CHKSUM = "file://COPYING;md5=17b2c9d4c70853a09c0e143137754b35"
-PACKAGECONFIG ?= ""
-PACKAGECONFIG[dpdk] = "--with-dpdk=${STAGING_DIR_TARGET}/opt/dpdk/${TARGET_ARCH}-native-linuxapp-gcc,,dpdk,"
+PACKAGECONFIG ?= "dpdk"
+PACKAGECONFIG[dpdk] = "--with-dpdk=${STAGING_DIR_TARGET}/opt/dpdk/share/${TARGET_ARCH}-native-linuxapp-gcc,,dpdk,"
# Don't compile kernel modules by default since it heavily depends on
# kernel version. Use the in-kernel module for now.
--
2.8.1
More information about the meta-virtualization
mailing list