DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] buildtools: fix icc build
@ 2017-11-02  0:25 Ferruh Yigit
  2017-11-06 20:45 ` Thomas Monjalon
  0 siblings, 1 reply; 2+ messages in thread
From: Ferruh Yigit @ 2017-11-02  0:25 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: dev, Ferruh Yigit

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 <ferruh.yigit@intel.com>
---
 buildtools/auto-config-h.sh | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/buildtools/auto-config-h.sh b/buildtools/auto-config-h.sh
index 4356d7e38..cb8bce9b8 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. */
 
-- 
2.13.6

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [dpdk-dev] [PATCH] buildtools: fix icc build
  2017-11-02  0:25 [dpdk-dev] [PATCH] buildtools: fix icc build Ferruh Yigit
@ 2017-11-06 20:45 ` Thomas Monjalon
  0 siblings, 0 replies; 2+ messages in thread
From: Thomas Monjalon @ 2017-11-06 20:45 UTC (permalink / raw)
  To: Ferruh Yigit; +Cc: dev

02/11/2017 01:25, Ferruh Yigit:
> 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 <ferruh.yigit@intel.com>

Applied, thanks

Note: this script does not always remove its temporary files.
We need to add a shell trap to catch early exit and do the cleanup.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2017-11-06 20:45 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-11-02  0:25 [dpdk-dev] [PATCH] buildtools: fix icc build Ferruh Yigit
2017-11-06 20:45 ` Thomas Monjalon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).