Issue with "kbuild: create a list of all built DTB files"
Florian Fainelli
florian.fainelli at broadcom.com
Wed Apr 17 11:37:35 PDT 2024
On 4/17/24 07:31, Masahiro Yamada wrote:
> On Wed, Apr 17, 2024 at 2:22 AM Florian Fainelli
> <florian.fainelli at broadcom.com> 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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4221 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20240417/543fda85/attachment-0001.p7s>
More information about the linux-arm-kernel
mailing list