Patchwork [7/7] syslinux: fix reinstall error

login
register
mail settings
Submitter Robert Yang
Date Aug. 7, 2014, 1:41 p.m.
Message ID <d895646f84514037ac6db0cf32f45bb137f566a8.1407418718.git.liezhi.yang@windriver.com>
Download mbox | patch
Permalink /patch/77463/
State Accepted
Commit f0c004089dbf98e0421f50cc975d290c4127d3f9
Headers show

Comments

Robert Yang - Aug. 7, 2014, 1:41 p.m.
Fixed:
make: *** No rule to make target `/path/to/sysroot/4.9.0/include/stdarg.h', needed by `cpio.o'.  Stop.
make: *** Waiting for unfinished jobs....
ERROR: oe_runmake failed

This happens when upgrade gcc from 4.9.0 to 4.9.1, and the .cpio.o.d isn't
regenerated when recompile (the compile happens when do_install), the content
of it are:

[snip]
cpio.o: /path/to/sysroot/4.9.0/include/stdarg.h
[snip]

And Makefile includes the .cpio.o.d file if it exists, so there would be
errors when /path/to/sysroot/4.9.0/include/stdarg.h doesn't exist.

Remove .*.d (a few .d files, its Makefile uses this wildcard) will fix
the problem.

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
---
 meta/recipes-devtools/syslinux/syslinux_6.01.bb |    4 ++++
 1 file changed, 4 insertions(+)

Patch

diff --git a/meta/recipes-devtools/syslinux/syslinux_6.01.bb b/meta/recipes-devtools/syslinux/syslinux_6.01.bb
index e8a1fd4..2377cc0 100644
--- a/meta/recipes-devtools/syslinux/syslinux_6.01.bb
+++ b/meta/recipes-devtools/syslinux/syslinux_6.01.bb
@@ -45,6 +45,10 @@  do_configure() {
 }
 
 do_compile() {
+	# Make sure the recompile is OK.
+	# Though the ${B} should always exist, still check it before find and rm.
+	[ -d "${B}" ] && find ${B} -name '.*.d' -type f -exec rm -f {} \;
+
 	# Rebuild only the installer; keep precompiled bootloaders
 	# as per author's request (doc/distrib.txt)
 	oe_runmake CC="${CC} ${CFLAGS}" LDFLAGS="${LDFLAGS}" firmware="bios" installer