Re: [BUG] Build error for 4.15-rc3 kernel caused by patch "kbuild: Add a cache for generated variables"

From: Masahiro Yamada
Date: Mon Dec 18 2017 - 09:57:28 EST


2017-12-17 7:35 GMT+09:00 Yang Shi <yang.s@xxxxxxxxxxxxxxx>:
> Hi folks,
>
> I just upgraded gcc to 6.4 on my centos 7 machine by Arnd's suggestion. But,
> I ran into the below compile error with 4.15-rc3 kernel:
>
> In file included from ./include/uapi/linux/uuid.h:21:0,
> from ./include/linux/uuid.h:19,
> from ./include/linux/mod_devicetable.h:12,
> from scripts/mod/devicetable-offsets.c:2:
> ./include/linux/string.h:8:20: fatal error: stdarg.h: No such file or
> directory
> #include <stdarg.h>
>
> I bisected to commit 3298b690b21cdbe6b2ae8076d9147027f396f2b1 ("kbuild: Add
> a cache for generated variables"). Once I revert this commit, kernel build
> is fine.
>
> gcc 4.8.5 is fine to build kernel with this commit.
>
> I'm not quite sure if this is a bug or my gcc install is skewed although it
> can build kernel without that commit since that commit might exacerbate the
> case.
>
> Any hint is appreciated


Today, I was also hit with the same error
when I was compiling linux-next.
I am not so sure why this error happens, but
"make clean" will probably fix the problem.

You need to do "make clean" to blow .cache.mk
when you upgrade your compiler.
This is nasty, though...




--
Best Regards
Masahiro Yamada