Re: linux-next: occassional build errors

From: Stephen Rothwell
Date: Wed Oct 03 2018 - 21:57:02 EST


Hi Masahiro,

On Thu, 4 Oct 2018 10:39:37 +1000 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
>
> On Wed, 3 Oct 2018 16:55:34 +1000 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
> >
> > > > 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.
>
> Today, I got this from the x86_64 allmodconfig build after merging the hid tree:
>
> x86_64-linux-gnu-ld: include/config/acpi.h: file not recognized: file truncated
> make[4]: *** [/home/sfr/next/next/scripts/Makefile.build:492: drivers/hid/i2c-hid/i2c-hid.o] Error 1
> make[3]: *** [/home/sfr/next/next/scripts/Makefile.build:520: drivers/hid/i2c-hid] Error 2
> make[2]: *** [/home/sfr/next/next/scripts/Makefile.build:520: drivers/hid] Error 2
> make[1]: *** [/home/sfr/next/next/Makefile:1057: drivers] Error 2
> make: *** [Makefile:152: sub-make] Error 2

OK, it seems to have to do with an object changing from a simple build
to a multi object build.

i.e. Tuesday's linux-next has these changes:

obj-$(CONFIG_CRYPTO_USER) += crypto_user.o
+crypto_user-y := crypto_user_base.o crypto_user_stat.o
obj-$(CONFIG_CRYPTO_CMAC) += cmac.o

obj-$(CONFIG_I2C_HID) += i2c-hid.o
+
+i2c-hid-objs = i2c-hid-core.o
+i2c-hid-$(CONFIG_DMI) += i2c-hid-dmi-quirks.o

--
Cheers,
Stephen Rothwell

Attachment: pgpda2kB54p9o.pgp
Description: OpenPGP digital signature