The compilation routine for the kernel has an explicit call to build version.h, which works fine for most kernels, but the location of it has recently changes.
commit d183e6f5 [UAPI: Move linux/version.h] commit 10b63956 [UAPI: Plumb the UAPI Kbuilds into the user header installation and checking] moves the file to include/generated/linux/version.h and then to include/generated/uapi/linux/version.h. As a result kernel builds of 3.7 or bisection builds of intermediate kernel commits will fail with: make[2]: *** No rule to make target `include/linux/version.h'. Stop. Making the explicit version.h build conditional on the version, or via a file test would fix the problem, but it introduces some complexity to the build. Even without an explicit call to build version.h, it is always produced by the kernel build, so it can simply be removed. Note: it isn't clear why the explicit build of version.h was originally required, but the prep phases of the kernel have changed significantly, so it should no longer be required. [YOCTO: #3293] Signed-off-by: Bruce Ashfield <bruce.ashfi...@windriver.com> --- meta/classes/kernel.bbclass | 1 - 1 files changed, 0 insertions(+), 1 deletions(-) diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass index 0df8f08..2163c1f 100644 --- a/meta/classes/kernel.bbclass +++ b/meta/classes/kernel.bbclass @@ -85,7 +85,6 @@ KERNEL_IMAGETYPE_FOR_MAKE = "${@(lambda s: s[:-3] if s[-3:] == ".gz" else s)(d.g kernel_do_compile() { unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE - oe_runmake include/linux/version.h CC="${KERNEL_CC}" LD="${KERNEL_LD}" oe_runmake ${KERNEL_IMAGETYPE_FOR_MAKE} ${KERNEL_ALT_IMAGETYPE} CC="${KERNEL_CC}" LD="${KERNEL_LD}" if test "${KERNEL_IMAGETYPE_FOR_MAKE}.gz" = "${KERNEL_IMAGETYPE}"; then gzip -9c < "${KERNEL_IMAGETYPE_FOR_MAKE}" > "${KERNEL_OUTPUT}" -- 1.7.5.4 _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core