Re: [3.7-rc6] Build failure with scripts/Makefile.headersinst

From: Tetsuo Handa
Date: Mon Nov 19 2012 - 08:02:36 EST


David Howells wrote:
> The version of the compiler shouldn't have any effect as far as I can see.
> Can you add the following:
>
> $(info XXXX $(srcdir)/$(hdr)) \
> $(info YYYY $(oldsrcdir)/$(hdr)) \
>
> immediately before the marked line and look for the lines in the output from
> make. The error suggests that neither pattern match worked.

Inserting

$(info XXXX $(srcdir)/$(hdr)), \
$(info YYYY $(oldsrcdir)/$(hdr)), \

did not work.

> Btw, are you supplying an O= flag to make when you build?

No. But supplying V=1 revealed that $(_dst) is an empty string at

# Recursion
hdr-inst := -rR -f $(srctree)/scripts/Makefile.headersinst obj
.PHONY: $(subdirs)
$(subdirs):
$(Q)$(MAKE) $(hdr-inst)=$(obj)/$@ dst=$(_dst)/$@

when using GNU Make 3.80, while $(_dst) contains appropriate string when using
GNU Make 3.81.



With Make 3.81:
make -f scripts/Makefile.build obj=scripts build_unifdef
make -rR -f /usr/src/all/linux/scripts/Makefile.headersinst obj=include/uapi
make -rR -f /usr/src/all/linux/scripts/Makefile.headersinst obj=include/uapi/asm-generic dst=include/uapi/asm-generic
make -rR -f /usr/src/all/linux/scripts/Makefile.headersinst obj=include/uapi/drm dst=include/uapi/drm
make -rR -f /usr/src/all/linux/scripts/Makefile.headersinst obj=include/uapi/linux dst=include/uapi/linux
make -rR -f /usr/src/all/linux/scripts/Makefile.headersinst obj=include/uapi/linux/byteorder dst=include/uapi/linux/byteorder
make -rR -f /usr/src/all/linux/scripts/Makefile.headersinst obj=include/uapi/linux/caif dst=include/uapi/linux/caif
(...snipped...)

With Make 3.80:
make -f scripts/Makefile.build obj=scripts build_unifdef
make -rR -f /usr/src/all/linux/scripts/Makefile.headersinst obj=include/uapi
make -rR -f /usr/src/all/linux/scripts/Makefile.headersinst obj=include/uapi/asm-generic dst=/asm-generic
/usr/src/all/linux/scripts/Makefile.headersinst:50: *** Missing UAPI file /usr/src/all/linux/include/uapi/asm-generic/auxvec.h. Stop.
make[2]: *** [asm-generic] Error 2
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/