On Wed, Mar 04, 2026 at 03:09:40PM +0000, Conor Dooley wrote:
> On Wed, Mar 04, 2026 at 09:01:45AM -0600, Tom Rini wrote:
> > On Wed, Mar 04, 2026 at 09:54:22AM +0000, Conor Dooley wrote:
> > > On Tue, Mar 03, 2026 at 12:50:55PM -0600, Tom Rini wrote:
> > > > On Fri, 13 Feb 2026 19:47:34 -0700, Simon Glass wrote:
> > > > 
> > > > > The exported sub_make_done variable leaks into the environment of all
> > > > > child processes. When make targets like tcheck spawn independent make
> > > > > invocations with O=, those child makes inherit sub_make_done=1, skip
> > > > > the KBUILD_OUTPUT setup and try to build in the source tree.
> > > > > 
> > > > > There is a workaround that resets sub_make_done to 0 for specific test
> > > > > targets, but this isn't great since it has tolist every target that
> > > > > spawns independent make invocations.
> > > > > 
> > > > > [...]
> > > > 
> > > > Applied to u-boot/master, thanks!
> > > > 
> > > > [1/1] kbuild: unexport sub_make_done to fix child make invocations
> > > >       commit: 4284306d22c5b6d64ecd62b462551d9d313c8104
> > > 
> > > 
> > > This breaks the build for me:
> > > make ARCH=riscv CROSS_COMPILE=riscv64-unknown-linux-gnu- O=build 
> > > microchip_mpfs_generic_defconfig
> > >   GEN     Makefile
> > > #
> > > # configuration written to .config
> > > #
> > > make ARCH=riscv CROSS_COMPILE=riscv64-unknown-linux-gnu- O=build
> > >   HOSTCC  scripts/basic/fixdep
> > >   GEN     Makefile
> > >   HOSTCC  scripts/kconfig/conf.o
> > >   YACC    scripts/kconfig/zconf.tab.[ch]
> > >   LEX     scripts/kconfig/zconf.lex.c
> > >   HOSTCC  scripts/kconfig/zconf.tab.o
> > >   HOSTLD  scripts/kconfig/conf
> > > scripts/kconfig/conf  --syncconfig Kconfig
> > > ***
> > > *** Configuration file ".config" not found!
> > > ***
> > > *** Please run some configurator (e.g. "make oldconfig" or
> > > *** "make menuconfig" or "make xconfig").
> > > ***
> > > make[4]: *** [/stuff/u-boot/scripts/kconfig/Makefile:75: syncconfig] 
> > > Error 1
> > > make[3]: *** [/stuff/u-boot/Makefile:702: syncconfig] Error 2
> > > make[2]: *** [../Makefile:189: __sub-make] Error 2
> > > make[1]: *** No rule to make target 'include/config/auto.conf', needed by 
> > > 'include/config/uboot.release'.  Stop.
> > > make: *** [Makefile:189: __sub-make] Error 2
> > 
> > That's odd. What host distro and make? I don't see that on Ubuntu 24.04.
> 
> Originally my CI found it in a docker container with "from: ubuntu:noble",
> so 24.04. I reproduced it locally on debian unstable with make 4.4.1

That's even more puzzling (noble is 24.04) since that sounds very close
to our CI too. Can you please look more in to what's going on?

-- 
Tom

Attachment: signature.asc
Description: PGP signature

Reply via email to