Re: syntax error in prepare target of main Makefile

From: Masahiro Yamada
Date: Mon May 08 2023 - 01:29:04 EST


On Sun, May 7, 2023 at 10:29 PM Bagas Sanjaya <bagasdotme@xxxxxxxxx> wrote:
>
> Hi,
>
> I notice a year old bug in bugzilla [1]. As many developers don't
> take a look on it, I decided to forward the bug by mail. And
> to reach the reporter, you must log in to bugzilla.

I believe it was already fixed.

See the bug tracker in the ELRepo.

https://elrepo.org/bugs/view.php?id=1215

It was a bug in ELRepo (and Fedora as well).



Masahiro









>
> Quoting from the bug report:
>
> > Christian 2022-04-08 10:44:17 UTC
> >
> > Symptom:
> >
> > make[2]: Entering directory '/usr/src/kernels/5.17.1-1.el8.elrepo.x86_64'
> > Makefile:729: target 'include/config/auto.conf' does not exist
> > test -e include/generated/autoconf.h -a -e include/config/auto.conf || ( \
> > echo >&2; \
> > echo >&2 " ERROR: Kernel configuration is invalid."; \
> > echo >&2 " include/generated/autoconf.h or include/config/auto.conf are missing.";\
> > echo >&2 " Run 'make oldconfig && make prepare' on kernel src to fix it."; \
> > echo >&2 ; \
> > /bin/false)
> > Makefile:1717: target 'prepare' does not exist
> > if [ "gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-4)" != ""gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-4)"" ]; then \
> > echo >&2 "warning: the compiler differs from the one used to build the kernel"; \
> > echo >&2 " The kernel was built by: "gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-4)""; \
> > echo >&2 " You are using: gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-4)"; \
> > fi
> > /bin/sh: -c: line 0: syntax error near unexpected token `('
> > /bin/sh: -c: line 0: `if [ "gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-4)" != ""gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-4)"" ]; then \'
> > make[2]: *** [Makefile:1717: prepare] Error 1
> > make[2]: Leaving directory '/usr/src/kernels/5.17.1-1.el8.elrepo.x86_64'
> >
> >
> > Note the double double-quotes in the GCC Version comparison !
> >
> > This happens to me when I try to compile vmware kernel modules with mainline kernel from elrepo on AlamLinux8.
> >
> > Since it is coming from the Makefile of the Kernel, I suppose this is the proper upstream tracker to be used. Please advise if not.
> >
> >
> > This is the potion of the Makefile that fails (line 1717..) :
> > prepare:
> > @if [ "$(CC_VERSION_TEXT)" != "$(CONFIG_CC_VERSION_TEXT)" ]; then \
> > echo >&2 "warning: the compiler differs from the one used to build the kernel"; \
> > echo >&2 " The kernel was built by: $(CONFIG_CC_VERSION_TEXT)"; \
> > echo >&2 " You are using: $(CC_VERSION_TEXT)"; \
> > fi
> >
> >
> >
> > I don't know where CONFIG_CC_VERSION_TEXT is defined. Which apparently contains "...", but shouldn't.
> >
> >
>
> To the reporter: It is helpful to try compiling your third-party modules
> against latest mainline kernel.
>
> Thanks.
>
> [1]: https://bugzilla.kernel.org/show_bug.cgi?id=215820
>
> --
> An old man doll... just what I always wanted! - Clara



--
Best Regards
Masahiro Yamada