2024-04-16 17:22:37

by Florian Fainelli

[permalink] [raw]
Subject: Issue with "kbuild: create a list of all built DTB files"

Hi Masahiro,

Sorry about the late report, commit
24507871c3c6ae4f6b460b016da7ff434cd34149 ("kbuild: create a list of all
built DTB files") is breaking the build when we are doing a rsync of the
Linux sources into a build directory, which is how buildroot works when
doing a source directory override.

This does not happen when doing a build from the git directory
containing the sources, and I cannot find a missing $(obj) reference, so
I am left wondering what I am missing here. The build error looks like this:

cat: arch/arm64/boot/dts/actions/dtbs-list: No such file or directory
host-make[3]: *** [scripts/Makefile.build:423:
arch/arm64/boot/dts/dtbs-list] Error 1
host-make[3]: *** Deleting file 'arch/arm64/boot/dts/dtbs-list'
host-make[2]: *** [Makefile:1394: dtbs] Error 2
host-make[2]: *** Waiting for unfinished jobs....

running with verbose, we can see the rule not generating an empty file
at all:

/home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
/scripts/Makefile.build obj=scripts/dtc
/home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
/scripts/Makefile.build obj=scripts
/home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
/scripts/Makefile.build obj=arch/arm64/boot/dts need-dtbslist=1
/home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
/scripts/Makefile.build obj=scripts/genksyms \
need-builtin= \
need-modorder= \

/home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
/scripts/Makefile.build obj=arch/arm64/boot/dts/actions \
need-builtin= \
need-modorder= \

/home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
/scripts/Makefile.build obj=arch/arm64/boot/dts/allwinner \
need-builtin= \
need-modorder= \

/home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
/scripts/Makefile.build obj=arch/arm64/boot/dts/altera \
need-builtin= \
need-modorder= \

/home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
/scripts/Makefile.build obj=arch/arm64/boot/dts/amazon \
need-builtin= \
need-modorder= \

/home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
/scripts/Makefile.build obj=arch/arm64/tools kapi
/home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
/scripts/Makefile.build obj=arch/arm64/boot/dts/amd \
need-builtin= \
need-modorder= \

/home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
/scripts/Makefile.build obj=arch/arm64/boot/dts/amlogic \
need-builtin= \
need-modorder= \

/home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
/scripts/Makefile.build obj=arch/arm64/boot/dts/apm \
need-builtin= \
need-modorder= \

/home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
/scripts/Makefile.build obj=arch/arm64/boot/dts/apple \
need-builtin= \
need-modorder= \

/home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
/scripts/Makefile.build obj=arch/arm64/boot/dts/arm \
need-builtin= \
need-modorder= \

/home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
/scripts/Makefile.build obj=arch/arm64/boot/dts/bitmain \
need-builtin= \
need-modorder= \

/home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
/scripts/Makefile.build obj=arch/arm64/boot/dts/broadcom \
need-builtin= \
need-modorder= \

/home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
/scripts/Makefile.build obj=arch/arm64/boot/dts/cavium \
need-builtin= \
need-modorder= \

/home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
/scripts/Makefile.build obj=arch/arm64/boot/dts/exynos \
need-builtin= \
need-modorder= \

/home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
/scripts/Makefile.build obj=arch/arm64/boot/dts/freescale \
need-builtin= \
need-modorder= \

/home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
/scripts/Makefile.build obj=arch/arm64/boot/dts/hisilicon \
need-builtin= \
need-modorder= \

/home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
/scripts/Makefile.build obj=arch/arm64/boot/dts/intel \
need-builtin= \
need-modorder= \

/home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
/scripts/Makefile.build obj=arch/arm64/boot/dts/lg \
need-builtin= \
need-modorder= \

# GEN arch/arm64/include/generated/asm/cpucap-defs.h
mkdir -p arch/arm64/include/generated/asm/; awk -f
arch/arm64/tools/gen-cpucaps.awk arch/arm64/tools/cpucaps >
arch/arm64/include/generated/asm/cpucap-defs.h
/home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
/scripts/Makefile.build obj=arch/arm64/boot/dts/marvell \
need-builtin= \
need-modorder= \

/home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
/scripts/Makefile.build obj=arch/arm64/boot/dts/mediatek \
need-builtin= \
need-modorder= \

# GEN arch/arm64/include/generated/asm/sysreg-defs.h
mkdir -p arch/arm64/include/generated/asm/; awk -f
arch/arm64/tools/gen-sysreg.awk arch/arm64/tools/sysreg >
arch/arm64/include/generated/asm/sysreg-defs.h
/home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
/scripts/Makefile.build obj=arch/arm64/boot/dts/microchip \
need-builtin= \
need-modorder= \

/home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
/scripts/Makefile.build obj=arch/arm64/boot/dts/broadcom/bcmbca \
need-builtin= \
need-modorder= \

/home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
/scripts/Makefile.build obj=arch/arm64/boot/dts/nuvoton \
need-builtin= \
need-modorder= \

/home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
/scripts/Makefile.build obj=arch/arm64/boot/dts/broadcom/northstar2 \
need-builtin= \
need-modorder= \

/home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
/scripts/Makefile.build obj=arch/arm64/boot/dts/exynos/google \
need-builtin= \
need-modorder= \

/home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
/scripts/Makefile.build obj=arch/arm64/boot/dts/nvidia \
need-builtin= \
need-modorder= \

/home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
/scripts/Makefile.build obj=arch/arm64/boot/dts/broadcom/stingray \
need-builtin= \
need-modorder= \

/home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
/scripts/Makefile.build obj=arch/arm64/boot/dts/qcom \
need-builtin= \
need-modorder= \

/home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
/scripts/Makefile.build obj=arch/arm64/boot/dts/realtek \
need-builtin= \
need-modorder= \

/home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
/scripts/Makefile.build obj=arch/arm64/boot/dts/renesas \
need-builtin= \
need-modorder= \

/home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
/scripts/Makefile.build obj=arch/arm64/boot/dts/rockchip \
need-builtin= \
need-modorder= \

/home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
/scripts/Makefile.build obj=arch/arm64/boot/dts/socionext \
need-builtin= \
need-modorder= \

/home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
/scripts/Makefile.build obj=arch/arm64/boot/dts/sprd \
need-builtin= \
need-modorder= \

/home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
/scripts/Makefile.build obj=arch/arm64/boot/dts/st \
need-builtin= \
need-modorder= \

/home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
/scripts/Makefile.build obj=arch/arm64/boot/dts/synaptics \
need-builtin= \
need-modorder= \

/home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
/scripts/Makefile.build obj=arch/arm64/boot/dts/tesla \
need-builtin= \
need-modorder= \

/home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
/scripts/Makefile.build obj=arch/arm64/boot/dts/ti \
need-builtin= \
need-modorder= \

/home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
/scripts/Makefile.build obj=arch/arm64/boot/dts/toshiba \
need-builtin= \
need-modorder= \

/home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
/scripts/Makefile.build obj=arch/arm64/boot/dts/xilinx \
need-builtin= \
need-modorder= \

# cmd_gen_order arch/arm64/boot/dts/dtbs-list
{ cat arch/arm64/boot/dts/actions/dtbs-list; cat
arch/arm64/boot/dts/allwinner/dtbs-list; cat
arch/arm64/boot/dts/altera/dtbs-list; cat
arch/arm64/boot/dts/amazon/dtbs-list; cat
arch/arm64/boot/dts/amd/dtbs-list; cat
arch/arm64/boot/dts/amlogic/dtbs-list; cat
arch/arm64/boot/dts/apm/dtbs-list; cat
arch/arm64/boot/dts/apple/dtbs-list; cat
arch/arm64/boot/dts/arm/dtbs-list; cat
arch/arm64/boot/dts/bitmain/dtbs-list; cat
arch/arm64/boot/dts/broadcom/dtbs-list; cat
arch/arm64/boot/dts/cavium/dtbs-list; cat
arch/arm64/boot/dts/exynos/dtbs-list; cat
arch/arm64/boot/dts/freescale/dtbs-list; cat
arch/arm64/boot/dts/hisilicon/dtbs-list; cat
arch/arm64/boot/dts/intel/dtbs-list; cat
arch/arm64/boot/dts/lg/dtbs-list; cat
arch/arm64/boot/dts/marvell/dtbs-list; cat
arch/arm64/boot/dts/mediatek/dtbs-list; cat
arch/arm64/boot/dts/microchip/dtbs-list; cat
arch/arm64/boot/dts/nuvoton/dtbs-list; cat
arch/arm64/boot/dts/nvidia/dtbs-list; cat
arch/arm64/boot/dts/qcom/dtbs-list; cat
arch/arm64/boot/dts/realtek/dtbs-list; cat
arch/arm64/boot/dts/renesas/dtbs-list; cat
arch/arm64/boot/dts/rockchip/dtbs-list; cat
arch/arm64/boot/dts/socionext/dtbs-list; cat
arch/arm64/boot/dts/sprd/dtbs-list; cat
arch/arm64/boot/dts/st/dtbs-list; cat
arch/arm64/boot/dts/synaptics/dtbs-list; cat
arch/arm64/boot/dts/tesla/dtbs-list; cat
arch/arm64/boot/dts/ti/dtbs-list; cat
arch/arm64/boot/dts/toshiba/dtbs-list; cat
arch/arm64/boot/dts/xilinx/dtbs-list; :; } > arch/arm64/boot/dts/dtbs-list
cat: arch/arm64/boot/dts/actions/dtbs-list: No such file or directory
host-make[3]: *** [scripts/Makefile.build:423:
arch/arm64/boot/dts/dtbs-list] Error 1
host-make[3]: *** Deleting file 'arch/arm64/boot/dts/dtbs-list'
host-make[2]: *** [Makefile:1394: dtbs] Error 2
host-make[2]: *** Waiting for unfinished jobs....
make[1]: *** [package/pkg-generic.mk:293:
/home/fainelli/work/buildroot/output/arm64/build/linux-custom/.stamp_built]
Error 2
make: *** [Makefile:27: _all] Error 2

Buildroot builds its own GNU Make version 4.4.1.

Any clues what might be going on? My defconfig is such that only
CONFIG_ARCH_BRCMSTB is enabled, and there are essentially no .dtbs file
that will be generated.

Thanks!
--
Florian


Attachments:
smime.p7s (4.12 kB)
S/MIME Cryptographic Signature

2024-04-17 14:32:39

by Masahiro Yamada

[permalink] [raw]
Subject: Re: Issue with "kbuild: create a list of all built DTB files"

On Wed, Apr 17, 2024 at 2:22 AM Florian Fainelli
<[email protected]> wrote:
>
> Hi Masahiro,
>
> Sorry about the late report, commit
> 24507871c3c6ae4f6b460b016da7ff434cd34149 ("kbuild: create a list of all
> built DTB files") is breaking the build when we are doing a rsync of the
> Linux sources into a build directory, which is how buildroot works when
> doing a source directory override.
>
> This does not happen when doing a build from the git directory
> containing the sources, and I cannot find a missing $(obj) reference, so
> I am left wondering what I am missing here. The build error looks like this:
>
> cat: arch/arm64/boot/dts/actions/dtbs-list: No such file or directory
> host-make[3]: *** [scripts/Makefile.build:423:
> arch/arm64/boot/dts/dtbs-list] Error 1
> host-make[3]: *** Deleting file 'arch/arm64/boot/dts/dtbs-list'
> host-make[2]: *** [Makefile:1394: dtbs] Error 2
> host-make[2]: *** Waiting for unfinished jobs....
>
> running with verbose, we can see the rule not generating an empty file
> at all:
>
> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
> ./scripts/Makefile.build obj=scripts/dtc
> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
> ./scripts/Makefile.build obj=scripts
> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
> ./scripts/Makefile.build obj=arch/arm64/boot/dts need-dtbslist=1
> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
> ./scripts/Makefile.build obj=scripts/genksyms \
> need-builtin= \
> need-modorder= \
>
> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
> ./scripts/Makefile.build obj=arch/arm64/boot/dts/actions \
> need-builtin= \
> need-modorder= \
>
> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
> ./scripts/Makefile.build obj=arch/arm64/boot/dts/allwinner \
> need-builtin= \
> need-modorder= \
>
> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
> ./scripts/Makefile.build obj=arch/arm64/boot/dts/altera \
> need-builtin= \
> need-modorder= \
>
> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
> ./scripts/Makefile.build obj=arch/arm64/boot/dts/amazon \
> need-builtin= \
> need-modorder= \
>
> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
> ./scripts/Makefile.build obj=arch/arm64/tools kapi
> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
> ./scripts/Makefile.build obj=arch/arm64/boot/dts/amd \
> need-builtin= \
> need-modorder= \
>
> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
> ./scripts/Makefile.build obj=arch/arm64/boot/dts/amlogic \
> need-builtin= \
> need-modorder= \
>
> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
> ./scripts/Makefile.build obj=arch/arm64/boot/dts/apm \
> need-builtin= \
> need-modorder= \
>
> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
> ./scripts/Makefile.build obj=arch/arm64/boot/dts/apple \
> need-builtin= \
> need-modorder= \
>
> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
> ./scripts/Makefile.build obj=arch/arm64/boot/dts/arm \
> need-builtin= \
> need-modorder= \
>
> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
> ./scripts/Makefile.build obj=arch/arm64/boot/dts/bitmain \
> need-builtin= \
> need-modorder= \
>
> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
> ./scripts/Makefile.build obj=arch/arm64/boot/dts/broadcom \
> need-builtin= \
> need-modorder= \
>
> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
> ./scripts/Makefile.build obj=arch/arm64/boot/dts/cavium \
> need-builtin= \
> need-modorder= \
>
> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
> ./scripts/Makefile.build obj=arch/arm64/boot/dts/exynos \
> need-builtin= \
> need-modorder= \
>
> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
> ./scripts/Makefile.build obj=arch/arm64/boot/dts/freescale \
> need-builtin= \
> need-modorder= \
>
> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
> ./scripts/Makefile.build obj=arch/arm64/boot/dts/hisilicon \
> need-builtin= \
> need-modorder= \
>
> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
> ./scripts/Makefile.build obj=arch/arm64/boot/dts/intel \
> need-builtin= \
> need-modorder= \
>
> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
> ./scripts/Makefile.build obj=arch/arm64/boot/dts/lg \
> need-builtin= \
> need-modorder= \
>
> # GEN arch/arm64/include/generated/asm/cpucap-defs.h
> mkdir -p arch/arm64/include/generated/asm/; awk -f
> arch/arm64/tools/gen-cpucaps.awk arch/arm64/tools/cpucaps >
> arch/arm64/include/generated/asm/cpucap-defs.h
> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
> ./scripts/Makefile.build obj=arch/arm64/boot/dts/marvell \
> need-builtin= \
> need-modorder= \
>
> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
> ./scripts/Makefile.build obj=arch/arm64/boot/dts/mediatek \
> need-builtin= \
> need-modorder= \
>
> # GEN arch/arm64/include/generated/asm/sysreg-defs.h
> mkdir -p arch/arm64/include/generated/asm/; awk -f
> arch/arm64/tools/gen-sysreg.awk arch/arm64/tools/sysreg >
> arch/arm64/include/generated/asm/sysreg-defs.h
> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
> ./scripts/Makefile.build obj=arch/arm64/boot/dts/microchip \
> need-builtin= \
> need-modorder= \
>
> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
> ./scripts/Makefile.build obj=arch/arm64/boot/dts/broadcom/bcmbca \
> need-builtin= \
> need-modorder= \
>
> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
> ./scripts/Makefile.build obj=arch/arm64/boot/dts/nuvoton \
> need-builtin= \
> need-modorder= \
>
> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
> ./scripts/Makefile.build obj=arch/arm64/boot/dts/broadcom/northstar2 \
> need-builtin= \
> need-modorder= \
>
> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
> ./scripts/Makefile.build obj=arch/arm64/boot/dts/exynos/google \
> need-builtin= \
> need-modorder= \
>
> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
> ./scripts/Makefile.build obj=arch/arm64/boot/dts/nvidia \
> need-builtin= \
> need-modorder= \
>
> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
> ./scripts/Makefile.build obj=arch/arm64/boot/dts/broadcom/stingray \
> need-builtin= \
> need-modorder= \
>
> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
> ./scripts/Makefile.build obj=arch/arm64/boot/dts/qcom \
> need-builtin= \
> need-modorder= \
>
> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
> ./scripts/Makefile.build obj=arch/arm64/boot/dts/realtek \
> need-builtin= \
> need-modorder= \
>
> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
> ./scripts/Makefile.build obj=arch/arm64/boot/dts/renesas \
> need-builtin= \
> need-modorder= \
>
> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
> ./scripts/Makefile.build obj=arch/arm64/boot/dts/rockchip \
> need-builtin= \
> need-modorder= \
>
> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
> ./scripts/Makefile.build obj=arch/arm64/boot/dts/socionext \
> need-builtin= \
> need-modorder= \
>
> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
> ./scripts/Makefile.build obj=arch/arm64/boot/dts/sprd \
> need-builtin= \
> need-modorder= \
>
> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
> ./scripts/Makefile.build obj=arch/arm64/boot/dts/st \
> need-builtin= \
> need-modorder= \
>
> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
> ./scripts/Makefile.build obj=arch/arm64/boot/dts/synaptics \
> need-builtin= \
> need-modorder= \
>
> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
> ./scripts/Makefile.build obj=arch/arm64/boot/dts/tesla \
> need-builtin= \
> need-modorder= \
>
> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
> ./scripts/Makefile.build obj=arch/arm64/boot/dts/ti \
> need-builtin= \
> need-modorder= \
>
> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
> ./scripts/Makefile.build obj=arch/arm64/boot/dts/toshiba \
> need-builtin= \
> need-modorder= \
>
> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
> ./scripts/Makefile.build obj=arch/arm64/boot/dts/xilinx \
> need-builtin= \
> need-modorder= \
>
> # cmd_gen_order arch/arm64/boot/dts/dtbs-list
> { cat arch/arm64/boot/dts/actions/dtbs-list; cat
> arch/arm64/boot/dts/allwinner/dtbs-list; cat
> arch/arm64/boot/dts/altera/dtbs-list; cat
> arch/arm64/boot/dts/amazon/dtbs-list; cat
> arch/arm64/boot/dts/amd/dtbs-list; cat
> arch/arm64/boot/dts/amlogic/dtbs-list; cat
> arch/arm64/boot/dts/apm/dtbs-list; cat
> arch/arm64/boot/dts/apple/dtbs-list; cat
> arch/arm64/boot/dts/arm/dtbs-list; cat
> arch/arm64/boot/dts/bitmain/dtbs-list; cat
> arch/arm64/boot/dts/broadcom/dtbs-list; cat
> arch/arm64/boot/dts/cavium/dtbs-list; cat
> arch/arm64/boot/dts/exynos/dtbs-list; cat
> arch/arm64/boot/dts/freescale/dtbs-list; cat
> arch/arm64/boot/dts/hisilicon/dtbs-list; cat
> arch/arm64/boot/dts/intel/dtbs-list; cat
> arch/arm64/boot/dts/lg/dtbs-list; cat
> arch/arm64/boot/dts/marvell/dtbs-list; cat
> arch/arm64/boot/dts/mediatek/dtbs-list; cat
> arch/arm64/boot/dts/microchip/dtbs-list; cat
> arch/arm64/boot/dts/nuvoton/dtbs-list; cat
> arch/arm64/boot/dts/nvidia/dtbs-list; cat
> arch/arm64/boot/dts/qcom/dtbs-list; cat
> arch/arm64/boot/dts/realtek/dtbs-list; cat
> arch/arm64/boot/dts/renesas/dtbs-list; cat
> arch/arm64/boot/dts/rockchip/dtbs-list; cat
> arch/arm64/boot/dts/socionext/dtbs-list; cat
> arch/arm64/boot/dts/sprd/dtbs-list; cat
> arch/arm64/boot/dts/st/dtbs-list; cat
> arch/arm64/boot/dts/synaptics/dtbs-list; cat
> arch/arm64/boot/dts/tesla/dtbs-list; cat
> arch/arm64/boot/dts/ti/dtbs-list; cat
> arch/arm64/boot/dts/toshiba/dtbs-list; cat
> arch/arm64/boot/dts/xilinx/dtbs-list; :; } > arch/arm64/boot/dts/dtbs-list
> cat: arch/arm64/boot/dts/actions/dtbs-list: No such file or directory
> host-make[3]: *** [scripts/Makefile.build:423:
> arch/arm64/boot/dts/dtbs-list] Error 1
> host-make[3]: *** Deleting file 'arch/arm64/boot/dts/dtbs-list'
> host-make[2]: *** [Makefile:1394: dtbs] Error 2
> host-make[2]: *** Waiting for unfinished jobs....
> make[1]: *** [package/pkg-generic.mk:293:
> /home/fainelli/work/buildroot/output/arm64/build/linux-custom/.stamp_built]
> Error 2
> make: *** [Makefile:27: _all] Error 2
>
> Buildroot builds its own GNU Make version 4.4.1.
>
> Any clues what might be going on? My defconfig is such that only
> CONFIG_ARCH_BRCMSTB is enabled, and there are essentially no .dtbs file
> that will be generated.



How to reproduce this in buildroot?



--
Best Regards
Masahiro Yamada

2024-04-17 21:42:38

by Florian Fainelli

[permalink] [raw]
Subject: Re: Issue with "kbuild: create a list of all built DTB files"

On 4/17/24 07:31, Masahiro Yamada wrote:
> On Wed, Apr 17, 2024 at 2:22 AM Florian Fainelli
> <[email protected]> wrote:
>>
>> Hi Masahiro,
>>
>> Sorry about the late report, commit
>> 24507871c3c6ae4f6b460b016da7ff434cd34149 ("kbuild: create a list of all
>> built DTB files") is breaking the build when we are doing a rsync of the
>> Linux sources into a build directory, which is how buildroot works when
>> doing a source directory override.
>>
>> This does not happen when doing a build from the git directory
>> containing the sources, and I cannot find a missing $(obj) reference, so
>> I am left wondering what I am missing here. The build error looks like this:
>>
>> cat: arch/arm64/boot/dts/actions/dtbs-list: No such file or directory
>> host-make[3]: *** [scripts/Makefile.build:423:
>> arch/arm64/boot/dts/dtbs-list] Error 1
>> host-make[3]: *** Deleting file 'arch/arm64/boot/dts/dtbs-list'
>> host-make[2]: *** [Makefile:1394: dtbs] Error 2
>> host-make[2]: *** Waiting for unfinished jobs....
>>
>> running with verbose, we can see the rule not generating an empty file
>> at all:
>>
>> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
>> ./scripts/Makefile.build obj=scripts/dtc
>> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
>> ./scripts/Makefile.build obj=scripts
>> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
>> ./scripts/Makefile.build obj=arch/arm64/boot/dts need-dtbslist=1
>> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
>> ./scripts/Makefile.build obj=scripts/genksyms \
>> need-builtin= \
>> need-modorder= \
>>
>> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
>> ./scripts/Makefile.build obj=arch/arm64/boot/dts/actions \
>> need-builtin= \
>> need-modorder= \
>>
>> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
>> ./scripts/Makefile.build obj=arch/arm64/boot/dts/allwinner \
>> need-builtin= \
>> need-modorder= \
>>
>> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
>> ./scripts/Makefile.build obj=arch/arm64/boot/dts/altera \
>> need-builtin= \
>> need-modorder= \
>>
>> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
>> ./scripts/Makefile.build obj=arch/arm64/boot/dts/amazon \
>> need-builtin= \
>> need-modorder= \
>>
>> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
>> ./scripts/Makefile.build obj=arch/arm64/tools kapi
>> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
>> ./scripts/Makefile.build obj=arch/arm64/boot/dts/amd \
>> need-builtin= \
>> need-modorder= \
>>
>> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
>> ./scripts/Makefile.build obj=arch/arm64/boot/dts/amlogic \
>> need-builtin= \
>> need-modorder= \
>>
>> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
>> ./scripts/Makefile.build obj=arch/arm64/boot/dts/apm \
>> need-builtin= \
>> need-modorder= \
>>
>> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
>> ./scripts/Makefile.build obj=arch/arm64/boot/dts/apple \
>> need-builtin= \
>> need-modorder= \
>>
>> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
>> ./scripts/Makefile.build obj=arch/arm64/boot/dts/arm \
>> need-builtin= \
>> need-modorder= \
>>
>> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
>> ./scripts/Makefile.build obj=arch/arm64/boot/dts/bitmain \
>> need-builtin= \
>> need-modorder= \
>>
>> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
>> ./scripts/Makefile.build obj=arch/arm64/boot/dts/broadcom \
>> need-builtin= \
>> need-modorder= \
>>
>> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
>> ./scripts/Makefile.build obj=arch/arm64/boot/dts/cavium \
>> need-builtin= \
>> need-modorder= \
>>
>> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
>> ./scripts/Makefile.build obj=arch/arm64/boot/dts/exynos \
>> need-builtin= \
>> need-modorder= \
>>
>> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
>> ./scripts/Makefile.build obj=arch/arm64/boot/dts/freescale \
>> need-builtin= \
>> need-modorder= \
>>
>> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
>> ./scripts/Makefile.build obj=arch/arm64/boot/dts/hisilicon \
>> need-builtin= \
>> need-modorder= \
>>
>> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
>> ./scripts/Makefile.build obj=arch/arm64/boot/dts/intel \
>> need-builtin= \
>> need-modorder= \
>>
>> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
>> ./scripts/Makefile.build obj=arch/arm64/boot/dts/lg \
>> need-builtin= \
>> need-modorder= \
>>
>> # GEN arch/arm64/include/generated/asm/cpucap-defs.h
>> mkdir -p arch/arm64/include/generated/asm/; awk -f
>> arch/arm64/tools/gen-cpucaps.awk arch/arm64/tools/cpucaps >
>> arch/arm64/include/generated/asm/cpucap-defs.h
>> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
>> ./scripts/Makefile.build obj=arch/arm64/boot/dts/marvell \
>> need-builtin= \
>> need-modorder= \
>>
>> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
>> ./scripts/Makefile.build obj=arch/arm64/boot/dts/mediatek \
>> need-builtin= \
>> need-modorder= \
>>
>> # GEN arch/arm64/include/generated/asm/sysreg-defs.h
>> mkdir -p arch/arm64/include/generated/asm/; awk -f
>> arch/arm64/tools/gen-sysreg.awk arch/arm64/tools/sysreg >
>> arch/arm64/include/generated/asm/sysreg-defs.h
>> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
>> ./scripts/Makefile.build obj=arch/arm64/boot/dts/microchip \
>> need-builtin= \
>> need-modorder= \
>>
>> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
>> ./scripts/Makefile.build obj=arch/arm64/boot/dts/broadcom/bcmbca \
>> need-builtin= \
>> need-modorder= \
>>
>> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
>> ./scripts/Makefile.build obj=arch/arm64/boot/dts/nuvoton \
>> need-builtin= \
>> need-modorder= \
>>
>> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
>> ./scripts/Makefile.build obj=arch/arm64/boot/dts/broadcom/northstar2 \
>> need-builtin= \
>> need-modorder= \
>>
>> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
>> ./scripts/Makefile.build obj=arch/arm64/boot/dts/exynos/google \
>> need-builtin= \
>> need-modorder= \
>>
>> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
>> ./scripts/Makefile.build obj=arch/arm64/boot/dts/nvidia \
>> need-builtin= \
>> need-modorder= \
>>
>> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
>> ./scripts/Makefile.build obj=arch/arm64/boot/dts/broadcom/stingray \
>> need-builtin= \
>> need-modorder= \
>>
>> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
>> ./scripts/Makefile.build obj=arch/arm64/boot/dts/qcom \
>> need-builtin= \
>> need-modorder= \
>>
>> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
>> ./scripts/Makefile.build obj=arch/arm64/boot/dts/realtek \
>> need-builtin= \
>> need-modorder= \
>>
>> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
>> ./scripts/Makefile.build obj=arch/arm64/boot/dts/renesas \
>> need-builtin= \
>> need-modorder= \
>>
>> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
>> ./scripts/Makefile.build obj=arch/arm64/boot/dts/rockchip \
>> need-builtin= \
>> need-modorder= \
>>
>> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
>> ./scripts/Makefile.build obj=arch/arm64/boot/dts/socionext \
>> need-builtin= \
>> need-modorder= \
>>
>> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
>> ./scripts/Makefile.build obj=arch/arm64/boot/dts/sprd \
>> need-builtin= \
>> need-modorder= \
>>
>> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
>> ./scripts/Makefile.build obj=arch/arm64/boot/dts/st \
>> need-builtin= \
>> need-modorder= \
>>
>> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
>> ./scripts/Makefile.build obj=arch/arm64/boot/dts/synaptics \
>> need-builtin= \
>> need-modorder= \
>>
>> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
>> ./scripts/Makefile.build obj=arch/arm64/boot/dts/tesla \
>> need-builtin= \
>> need-modorder= \
>>
>> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
>> ./scripts/Makefile.build obj=arch/arm64/boot/dts/ti \
>> need-builtin= \
>> need-modorder= \
>>
>> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
>> ./scripts/Makefile.build obj=arch/arm64/boot/dts/toshiba \
>> need-builtin= \
>> need-modorder= \
>>
>> /home/fainelli/work/buildroot/output/arm64/host/bin/host-make -f
>> ./scripts/Makefile.build obj=arch/arm64/boot/dts/xilinx \
>> need-builtin= \
>> need-modorder= \
>>
>> # cmd_gen_order arch/arm64/boot/dts/dtbs-list
>> { cat arch/arm64/boot/dts/actions/dtbs-list; cat
>> arch/arm64/boot/dts/allwinner/dtbs-list; cat
>> arch/arm64/boot/dts/altera/dtbs-list; cat
>> arch/arm64/boot/dts/amazon/dtbs-list; cat
>> arch/arm64/boot/dts/amd/dtbs-list; cat
>> arch/arm64/boot/dts/amlogic/dtbs-list; cat
>> arch/arm64/boot/dts/apm/dtbs-list; cat
>> arch/arm64/boot/dts/apple/dtbs-list; cat
>> arch/arm64/boot/dts/arm/dtbs-list; cat
>> arch/arm64/boot/dts/bitmain/dtbs-list; cat
>> arch/arm64/boot/dts/broadcom/dtbs-list; cat
>> arch/arm64/boot/dts/cavium/dtbs-list; cat
>> arch/arm64/boot/dts/exynos/dtbs-list; cat
>> arch/arm64/boot/dts/freescale/dtbs-list; cat
>> arch/arm64/boot/dts/hisilicon/dtbs-list; cat
>> arch/arm64/boot/dts/intel/dtbs-list; cat
>> arch/arm64/boot/dts/lg/dtbs-list; cat
>> arch/arm64/boot/dts/marvell/dtbs-list; cat
>> arch/arm64/boot/dts/mediatek/dtbs-list; cat
>> arch/arm64/boot/dts/microchip/dtbs-list; cat
>> arch/arm64/boot/dts/nuvoton/dtbs-list; cat
>> arch/arm64/boot/dts/nvidia/dtbs-list; cat
>> arch/arm64/boot/dts/qcom/dtbs-list; cat
>> arch/arm64/boot/dts/realtek/dtbs-list; cat
>> arch/arm64/boot/dts/renesas/dtbs-list; cat
>> arch/arm64/boot/dts/rockchip/dtbs-list; cat
>> arch/arm64/boot/dts/socionext/dtbs-list; cat
>> arch/arm64/boot/dts/sprd/dtbs-list; cat
>> arch/arm64/boot/dts/st/dtbs-list; cat
>> arch/arm64/boot/dts/synaptics/dtbs-list; cat
>> arch/arm64/boot/dts/tesla/dtbs-list; cat
>> arch/arm64/boot/dts/ti/dtbs-list; cat
>> arch/arm64/boot/dts/toshiba/dtbs-list; cat
>> arch/arm64/boot/dts/xilinx/dtbs-list; :; } > arch/arm64/boot/dts/dtbs-list
>> cat: arch/arm64/boot/dts/actions/dtbs-list: No such file or directory
>> host-make[3]: *** [scripts/Makefile.build:423:
>> arch/arm64/boot/dts/dtbs-list] Error 1
>> host-make[3]: *** Deleting file 'arch/arm64/boot/dts/dtbs-list'
>> host-make[2]: *** [Makefile:1394: dtbs] Error 2
>> host-make[2]: *** Waiting for unfinished jobs....
>> make[1]: *** [package/pkg-generic.mk:293:
>> /home/fainelli/work/buildroot/output/arm64/build/linux-custom/.stamp_built]
>> Error 2
>> make: *** [Makefile:27: _all] Error 2
>>
>> Buildroot builds its own GNU Make version 4.4.1.
>>
>> Any clues what might be going on? My defconfig is such that only
>> CONFIG_ARCH_BRCMSTB is enabled, and there are essentially no .dtbs file
>> that will be generated.
>
>
>
> How to reproduce this in buildroot?

It is a bit involved since it would require having some intermediate
builds and as I was crafting an environment for you to take a look, it
stopped being reproducible... I will let you know if this resurfaces again.

Thanks!
--
Florian


Attachments:
smime.p7s (4.12 kB)
S/MIME Cryptographic Signature