From: Ferruh Yigit Date: Thu, 2 Nov 2017 00:25:10 +0000 (+0000) Subject: buildtools: fix icc build X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=a462a6a9e7705e0a8e855ed42377041ff0efc908;p=dpdk.git buildtools: fix icc build There are random build errors in test reports [1]. Build error is not directly related to DPDK but observed during DPDK build. When I get similar unexpected build errors in my system, found out that /dev/null is invalid. It seems ICC overwrites the /dev/null with "icc -o /dev/null" instead of sending output to /dev/null. This is not always reproducible, so hard to say what exactly is triggering the error. I suspect test-report build errors can be because of the same reason, and it is good to add a protection for this case. Instead of sending output to /dev/null save it to the tmp folder and remove it back when done. [1] http://dpdk.org/ml/archives/test-report/2017-November/034053.html Failure #3 /usr/src/linux-headers-4.4.0-97-generic/include/linux/sysfs.h:517:37: error: pointer targets in passing argument 2 of ‘kernfs_find_and_get’ differ in signedness [-Werror=pointer-sign] return kernfs_find_and_get(parent, name); Signed-off-by: Ferruh Yigit --- diff --git a/buildtools/auto-config-h.sh b/buildtools/auto-config-h.sh index 4356d7e38a..cb8bce9b8d 100755 --- a/buildtools/auto-config-h.sh +++ b/buildtools/auto-config-h.sh @@ -114,9 +114,9 @@ printf "\ " "$include" "$code" > "${temp}" && if ${CC} ${CPPFLAGS} ${EXTRA_CPPFLAGS} ${CFLAGS} ${EXTRA_CFLAGS} \ ${AUTO_CONFIG_CFLAGS} \ - -c -o /dev/null "${temp}" 1>&${out} 2>&${err} + -c -o ${temp}.o "${temp}" 1>&${out} 2>&${err} then - rm -f "${temp}" + rm -f "${temp}" "${temp}.o" printf "\ #ifndef %s #define %s 1 @@ -125,7 +125,7 @@ then " "${macro}" "${macro}" "${macro}" >> "${file}" && printf 'Defining %s.\n' "${macro}" else - rm -f "${temp}" + rm -f "${temp}" "${temp}.o" printf "\ /* %s is not defined. */