From: He Zhe <[email protected]> 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 (LOCAL REV: NOT UPSTREAM) -- Sent to meta-virtualization on <20170627> Signed-off-by: Hemant Agrawal <hemant.agrawal at nxp.com> Signed-off-by: Yadi.hu <[email protected]> [ Adjust context to apply. Note that this patch is from mailing list but is not merged into upstream repo.] Signed-off-by: He Zhe <[email protected]> --- .../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 -- _______________________________________________ meta-virtualization mailing list [email protected] https://lists.yoctoproject.org/listinfo/meta-virtualization
