Subject: Re: linux-next: occassional build errors

From: Stephen Rothwell <[email-masked]>
Date: Wed, 3 Oct 2018 16:55:34 +1000

Hi Masahiro,

On Wed, 3 Oct 2018 13:31:54 +0900 Masahiro Yamada <[email-masked]> wrote:
>
> On Wed, Oct 3, 2018 at 12:51 PM Stephen Rothwell <[email-masked]> wrote:
> >
> > I don't know if that has anything to changes in the kbuild system, but
> > since Tuesday, I have been getting random build errors that go away after
> > I remove the object directory and build again.  
> 
> I have no idea.

I did not expect a fast/simple answer :-)

> Is it fine if you use kbuild tree from the last week?

I did not see this in next-20180928 or before i.e. it has only happened
yesterday and today.

> I added 4 kbuild patches this week, but they look irrelevant.

Yeah, that was my feeling as well.

> >  The latest example is this:
> >
> > include/linux/kconfig.h: file not recognized: file format not recognized
> > make[2]: *** [scripts/Makefile.build:492: crypto/crypto_user.o] Error 1
> > make[1]: *** [Makefile:1057: crypto] Error 2
> > make: *** [Makefile:152: sub-make] Error 2
> > Command exited with non-zero status 2
> >
> > It is always complaining about a .h file ...
> >
> > Makefile:152 is the MAKE lien below:
> >
> > # Invoke a second make in the output directory, passing relevant variables
> > sub-make:
> >         $(Q)$(MAKE) -C $(KBUILD_OUTPUT) KBUILD_SRC=$(CURDIR) \
> >         -f $(CURDIR)/Makefile $(filter-out _all sub-make,$(MAKECMDGOALS))
> >
> > Makefile:1057 is the MAKE line below:
> >
> > PHONY += $(vmlinux-dirs)
> > $(vmlinux-dirs): prepare scripts
> >         $(Q)$(MAKE) $(build)=$@ need-builtin=1
> >
> > scripts/Makefile.build:492 is the if_changed line below:
> >
> > $(multi-used-m): FORCE
> >         $(call if_changed,link_multi-m)
> >         @{ echo $(@:.o=.ko); echo $(filter-out FORCE,$^); \
> >            $(cmd_undef_syms); } > $(MODVERDIR)/$(@F:.o=.mod)
> > $(call multi_depend, $(multi-used-m), .o, -objs -y -m)
> >
> > Not sure what else I can tell you.
> 
> Does this happen only when building a module?

I don't know, sorry, I build with -s and -j80, so it is hard to tell
what it is currently up to.

> Can you provide a procedure
> to reproduce this?

Not really.  Each day, I merge all the trees, but between each merge I
do 3 builds (arm, powerpc and x86_64) and of the 100+ builds, yesterday
2 failed and so far today 2 have failed.  It is not even the same build
each time, or after the same merges.

The report above was from the arm build, a while later (a few merges
later) the x86_64 build failed - complaining about a different .h file.
-- 
Cheers,
Stephen Rothwell