[dpdk-stable] [PATCH v7 3/7] devtools: fix the Exec format error

Gavin Hu gavin.hu at arm.com
Fri Jun 15 09:08:07 CEST 2018


meson will natively compile and generate the sanitycheck.exe file.  It will
be spawned and run at the host side.  Export the cross compiler is not
necessary as it is already done by the cross-file, and even worse it
generate the files in the wrong target format.

The fix to the following compiling error is select the native compiler for
the sanity test source file.

"/usr/lib/python3.5/subprocess.py", line 676, in __init__ restore_signals,
start_new_session) File "/usr/lib/python3.5/subprocess.py", line 1282, in
_execute_child raise child_exception_type(errno_num, err_msg) OSError:
[Errno 8] Exec format error
Build started at 2018-06-01T12:48:46.852286 Main binary: /usr/bin/python3
Python system: Linux The Meson build system Version: 0.45.1 Build type:
cross build Project name: DPDK Sanity testing C compiler:
aarch64-linux-gnu-gcc Is cross compiler: False.  Sanity check compiler
command line: aarch64-linux-gnu-gcc
dpdk/build-arm64-armv8/meson-private/sanitycheckc.c -o
dpdk/build-arm64-armv8/meson-private/sanitycheckc.exe

Fixes: a55277a788 ("devtools: add test script for meson builds")
Cc: stable at dpdk.org

Signed-off-by: Gavin Hu <gavin.hu at arm.com>
Reviewed-by: Phil Yang <phil.yang at arm.com>
Reviewed-by: Song Zhu <song.zhu at arm.com>
---
 devtools/test-meson-builds.sh | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/devtools/test-meson-builds.sh b/devtools/test-meson-builds.sh
index 9868c325b..6bce3df7f 100755
--- a/devtools/test-meson-builds.sh
+++ b/devtools/test-meson-builds.sh
@@ -1,6 +1,7 @@
 #! /bin/sh -e
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018 Intel Corporation
+# Copyright(c) 2018 ARM Corporation
 
 # Run meson to auto-configure the various builds.
 # * all builds get put in a directory whose name starts with "build-"
@@ -18,7 +19,6 @@ build () # <directory> <meson options>
 		options="--werror -Dexamples=all $*"
 		echo "$MESON $options $srcdir $builddir"
 		$MESON $options $srcdir $builddir
-		unset CC
 	fi
 	echo "ninja -C $builddir"
 	ninja -C $builddir
@@ -26,10 +26,11 @@ build () # <directory> <meson options>
 
 # shared and static linked builds with gcc and clang
 for c in gcc clang ; do
+	export CC="ccache $c"
 	for s in static shared ; do
-		export CC="ccache $c"
 		build build-$c-$s --default-library=$s
 	done
+	unset CC
 done
 
 # test compilation with minimal x86 instruction set
@@ -39,8 +40,10 @@ build build-x86-default -Dmachine=nehalem
 for f in config/arm/arm*gcc ; do
 	c=aarch64-linux-gnu-gcc
 	if ! command -v $c >/dev/null 2>&1 ; then
-		continue
+		echo "## ERROR: aarch64-linux-gnu-gcc is missing..."
+		exit 1
 	fi
-	export CC="ccache $c"
+	export CC="ccache gcc"
 	build build-$(basename $f | tr '_' '-' | cut -d'-' -f-2) --cross-file $f
+	unset CC
 done
-- 
2.11.0



More information about the stable mailing list