From f0c004089dbf98e0421f50cc975d290c4127d3f9 Mon Sep 17 00:00:00 2001 From: Robert Yang Date: Wed, 6 Aug 2014 20:05:22 -0700 Subject: syslinux: fix reinstall error 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. (From OE-Core rev: f7dc6e801bba897fd4709a2f4fb0e7dbc198497a) Signed-off-by: Robert Yang Signed-off-by: Saul Wold Signed-off-by: Richard Purdie --- meta/recipes-devtools/syslinux/syslinux_6.01.bb | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'meta') diff --git a/meta/recipes-devtools/syslinux/syslinux_6.01.bb b/meta/recipes-devtools/syslinux/syslinux_6.01.bb index e8a1fd4ffe..2377cc0047 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 -- cgit 1.2.3-korg