| Message ID | 20250708012959.77522-1-festevam@gmail.com |
|---|---|
| State | New |
| Headers | show |
| Series | u-boot: upgrade 2025.04 -> 2025.07 | expand |
On Tue Jul 8, 2025 at 3:29 AM CEST, Fabio Estevam via lists.openembedded.org wrote: > Upgrade to U-Boot 2025.07. > > Signed-off-by: Fabio Estevam <festevam@gmail.com> > --- Hi Fabio, Thanks for your patch. It looks like this is breaking selftests on the autobuilder: 2025-07-08 07:43:52,116 - oe-selftest - INFO - fitimage.UBootFitImageTests.test_sign_cascaded_uboot_fit_image (subunit.RemotedTestCase) 2025-07-08 07:43:52,118 - oe-selftest - INFO - ... FAIL ... ERROR: u-boot-1_2025.07-r0 do_compile: oe_runmake failed ... | arm-poky-linux-gnueabi-ld.bfd: cannot find arch/arm/lib/lib.a: No such file or directory Both on debian and armhost: https://autobuilder.yoctoproject.org/valkyrie/#/builders/35/builds/1923 https://autobuilder.yoctoproject.org/valkyrie/#/builders/23/builds/2077 Can you have a look at these failures please?
Hi Mathieu, On Tue, Jul 8, 2025 at 9:37 AM Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> wrote: > > On Tue Jul 8, 2025 at 3:29 AM CEST, Fabio Estevam via lists.openembedded.org wrote: > > Upgrade to U-Boot 2025.07. > > > > Signed-off-by: Fabio Estevam <festevam@gmail.com> > > --- > > Hi Fabio, > > Thanks for your patch. > > It looks like this is breaking selftests on the autobuilder: > > 2025-07-08 07:43:52,116 - oe-selftest - INFO - fitimage.UBootFitImageTests.test_sign_cascaded_uboot_fit_image (subunit.RemotedTestCase) > 2025-07-08 07:43:52,118 - oe-selftest - INFO - ... FAIL > ... > ERROR: u-boot-1_2025.07-r0 do_compile: oe_runmake failed > ... > | arm-poky-linux-gnueabi-ld.bfd: cannot find arch/arm/lib/lib.a: No such file or directory > > > Both on debian and armhost: > > https://autobuilder.yoctoproject.org/valkyrie/#/builders/35/builds/1923 > https://autobuilder.yoctoproject.org/valkyrie/#/builders/23/builds/2077 > > Can you have a look at these failures please? Thanks for the report. I am adding some folks on CC in case they have some ideas.
On Tue, Jul 08, 2025 at 02:04:15PM -0300, Fabio Estevam wrote: > Hi Mathieu, > > On Tue, Jul 8, 2025 at 9:37 AM Mathieu Dubois-Briand > <mathieu.dubois-briand@bootlin.com> wrote: > > > > On Tue Jul 8, 2025 at 3:29 AM CEST, Fabio Estevam via lists.openembedded.org wrote: > > > Upgrade to U-Boot 2025.07. > > > > > > Signed-off-by: Fabio Estevam <festevam@gmail.com> > > > --- > > > > Hi Fabio, > > > > Thanks for your patch. > > > > It looks like this is breaking selftests on the autobuilder: > > > > 2025-07-08 07:43:52,116 - oe-selftest - INFO - fitimage.UBootFitImageTests.test_sign_cascaded_uboot_fit_image (subunit.RemotedTestCase) > > 2025-07-08 07:43:52,118 - oe-selftest - INFO - ... FAIL > > ... > > ERROR: u-boot-1_2025.07-r0 do_compile: oe_runmake failed > > ... > > | arm-poky-linux-gnueabi-ld.bfd: cannot find arch/arm/lib/lib.a: No such file or directory > > > > > > Both on debian and armhost: > > > > https://autobuilder.yoctoproject.org/valkyrie/#/builders/35/builds/1923 > > https://autobuilder.yoctoproject.org/valkyrie/#/builders/23/builds/2077 > > > > Can you have a look at these failures please? > > Thanks for the report. > > I am adding some folks on CC in case they have some ideas. Interesting. How can we trigger that outside of the autobuilder?
On Tue Jul 8, 2025 at 7:57 PM CEST, Tom Rini wrote: > On Tue, Jul 08, 2025 at 02:04:15PM -0300, Fabio Estevam wrote: >> Hi Mathieu, >> >> On Tue, Jul 8, 2025 at 9:37 AM Mathieu Dubois-Briand >> <mathieu.dubois-briand@bootlin.com> wrote: >> > >> > On Tue Jul 8, 2025 at 3:29 AM CEST, Fabio Estevam via lists.openembedded.org wrote: >> > > Upgrade to U-Boot 2025.07. >> > > >> > > Signed-off-by: Fabio Estevam <festevam@gmail.com> >> > > --- >> > >> > Hi Fabio, >> > >> > Thanks for your patch. >> > >> > It looks like this is breaking selftests on the autobuilder: >> > >> > 2025-07-08 07:43:52,116 - oe-selftest - INFO - fitimage.UBootFitImageTests.test_sign_cascaded_uboot_fit_image (subunit.RemotedTestCase) >> > 2025-07-08 07:43:52,118 - oe-selftest - INFO - ... FAIL >> > ... >> > ERROR: u-boot-1_2025.07-r0 do_compile: oe_runmake failed >> > ... >> > | arm-poky-linux-gnueabi-ld.bfd: cannot find arch/arm/lib/lib.a: No such file or directory >> > >> > >> > Both on debian and armhost: >> > >> > https://autobuilder.yoctoproject.org/valkyrie/#/builders/35/builds/1923 >> > https://autobuilder.yoctoproject.org/valkyrie/#/builders/23/builds/2077 >> > >> > Can you have a look at these failures please? >> >> Thanks for the report. >> >> I am adding some folks on CC in case they have some ideas. > > Interesting. How can we trigger that outside of the autobuilder? Hi, It's not so easy to reproduce, as it looks like it is somehow linked with the host environment: this have been failing on debian workers but not on the fedora ones. So basic instructions are below, but this was not enough to reproduce it in the ubuntu 24.4 docker I've been using so far. git clone git://git.yoctoproject.org/poky-ci-archive -b autobuilder.yoctoproject.org/valkyrie/a-full-1972 cd poky-ci-archive . oe-init-build-env Add following lines in conf/local.conf (I bet only the last one is really needed, but let's try to be as close as possible as the autobuilder configuration): MACHINE = "qemux86-64" DISTRO = "poky" SDKMACHINE = "x86_64" PACKAGE_CLASSES = "package_rpm" RPM_GPG_SIGN_CHUNK = '1' IMAGE_INSTALL:append = ' ssh-pregen-hostkeys' SANITY_TESTED_DISTROS = '' Add poky-ci-archive/meta-selftest in conf/bblayers.conf. And finally, run the tests: oe-selftest -r fitimage.UBootFitImageTests.test_sign_cascaded_uboot_fit_image oe-selftest -r fitimage.UBootFitImageTests.test_sign_standalone_uboot_atf_tee_fit_image
On Tue, 2025-07-08 at 11:57 -0600, Tom Rini wrote: > On Tue, Jul 08, 2025 at 02:04:15PM -0300, Fabio Estevam wrote: > > Hi Mathieu, > > > > On Tue, Jul 8, 2025 at 9:37 AM Mathieu Dubois-Briand > > <mathieu.dubois-briand@bootlin.com> wrote: > > > > > > On Tue Jul 8, 2025 at 3:29 AM CEST, Fabio Estevam via > > > lists.openembedded.org wrote: > > > > Upgrade to U-Boot 2025.07. > > > > > > > > Signed-off-by: Fabio Estevam <festevam@gmail.com> > > > > --- > > > > > > Hi Fabio, > > > > > > Thanks for your patch. > > > > > > It looks like this is breaking selftests on the autobuilder: > > > > > > 2025-07-08 07:43:52,116 - oe-selftest - INFO - > > > fitimage.UBootFitImageTests.test_sign_cascaded_uboot_fit_image > > > (subunit.RemotedTestCase) > > > 2025-07-08 07:43:52,118 - oe-selftest - INFO - ... FAIL > > > ... > > > ERROR: u-boot-1_2025.07-r0 do_compile: oe_runmake failed > > > ... > > > > arm-poky-linux-gnueabi-ld.bfd: cannot find arch/arm/lib/lib.a: > > > > No such file or directory > > > > > > > > > Both on debian and armhost: > > > > > > https://autobuilder.yoctoproject.org/valkyrie/#/builders/35/builds/1923 > > > https://autobuilder.yoctoproject.org/valkyrie/#/builders/23/builds/2077 > > > > > > Can you have a look at these failures please? > > > > Thanks for the report. > > > > I am adding some folks on CC in case they have some ideas. > > Interesting. How can we trigger that outside of the autobuilder? > Probably this is not related to the fit image tests as such. It's probably just u-boot it self which does no longer compile. The test generates a local.conf file like this: https://git.yoctoproject.org/poky/tree/meta/lib/oeqa/selftest/cases/fitimage.py#n1414 and then it runs: bitbake u-boot Running the test as it runs on the AB should be possible like this: # Start with a clean, default local.conf git clone https://git.yoctoproject.org/poky cd poky . oe-init-build-env cat << EOF >> $BUILDDIR/conf/local.conf # oe-selftest requies that SANITY_TESTED_DISTROS = "" # Use Yocto's public sstate-cache BB_HASHSERVE_UPSTREAM = 'wss://hashserv.yoctoproject.org/ws' SSTATE_MIRRORS ?= "file://.* http://sstate.yoctoproject.org/all/PATH;downloadfilename=PATH" EOF oe-selftest -v -K -r fitimage.UBootFitImageTests.test_uboot_fit_image The detailed log file is here: $BUILDDIR/tmp/log/oe-selftest-results.log Adrian
On Wed, Jul 09, 2025 at 10:21:34AM +0200, Mathieu Dubois-Briand wrote: > On Tue Jul 8, 2025 at 7:57 PM CEST, Tom Rini wrote: > > On Tue, Jul 08, 2025 at 02:04:15PM -0300, Fabio Estevam wrote: > >> Hi Mathieu, > >> > >> On Tue, Jul 8, 2025 at 9:37 AM Mathieu Dubois-Briand > >> <mathieu.dubois-briand@bootlin.com> wrote: > >> > > >> > On Tue Jul 8, 2025 at 3:29 AM CEST, Fabio Estevam via lists.openembedded.org wrote: > >> > > Upgrade to U-Boot 2025.07. > >> > > > >> > > Signed-off-by: Fabio Estevam <festevam@gmail.com> > >> > > --- > >> > > >> > Hi Fabio, > >> > > >> > Thanks for your patch. > >> > > >> > It looks like this is breaking selftests on the autobuilder: > >> > > >> > 2025-07-08 07:43:52,116 - oe-selftest - INFO - fitimage.UBootFitImageTests.test_sign_cascaded_uboot_fit_image (subunit.RemotedTestCase) > >> > 2025-07-08 07:43:52,118 - oe-selftest - INFO - ... FAIL > >> > ... > >> > ERROR: u-boot-1_2025.07-r0 do_compile: oe_runmake failed > >> > ... > >> > | arm-poky-linux-gnueabi-ld.bfd: cannot find arch/arm/lib/lib.a: No such file or directory > >> > > >> > > >> > Both on debian and armhost: > >> > > >> > https://autobuilder.yoctoproject.org/valkyrie/#/builders/35/builds/1923 > >> > https://autobuilder.yoctoproject.org/valkyrie/#/builders/23/builds/2077 > >> > > >> > Can you have a look at these failures please? > >> > >> Thanks for the report. > >> > >> I am adding some folks on CC in case they have some ideas. > > > > Interesting. How can we trigger that outside of the autobuilder? > > Hi, > > It's not so easy to reproduce, as it looks like it is somehow linked > with the host environment: this have been failing on debian workers but > not on the fedora ones. > So basic instructions are below, but this was not enough to reproduce it > in the ubuntu 24.4 docker I've been using so far. > > git clone git://git.yoctoproject.org/poky-ci-archive -b autobuilder.yoctoproject.org/valkyrie/a-full-1972 > cd poky-ci-archive > . oe-init-build-env > > Add following lines in conf/local.conf (I bet only the last one is > really needed, but let's try to be as close as possible as the > autobuilder configuration): > MACHINE = "qemux86-64" > DISTRO = "poky" > SDKMACHINE = "x86_64" > PACKAGE_CLASSES = "package_rpm" > RPM_GPG_SIGN_CHUNK = '1' > IMAGE_INSTALL:append = ' ssh-pregen-hostkeys' > SANITY_TESTED_DISTROS = '' > > Add poky-ci-archive/meta-selftest in conf/bblayers.conf. > > And finally, run the tests: > oe-selftest -r fitimage.UBootFitImageTests.test_sign_cascaded_uboot_fit_image > oe-selftest -r fitimage.UBootFitImageTests.test_sign_standalone_uboot_atf_tee_fit_image Yeah, looking at the logs it's not even Debian, it's Ubuntu 22.04, which is what we use for our CI too. I guess I would suggest bisect'ing with the autobuilder until finding out what commit breaks and then someone from the U-Boot side of things can chime in.
Hi, Adding Ilias, On Wed, Jul 09, 2025 at 08:29:32AM -0600, Tom Rini via lists.openembedded.org wrote: > On Wed, Jul 09, 2025 at 10:21:34AM +0200, Mathieu Dubois-Briand wrote: > > On Tue Jul 8, 2025 at 7:57 PM CEST, Tom Rini wrote: > > > On Tue, Jul 08, 2025 at 02:04:15PM -0300, Fabio Estevam wrote: > > >> Hi Mathieu, > > >> > > >> On Tue, Jul 8, 2025 at 9:37 AM Mathieu Dubois-Briand > > >> <mathieu.dubois-briand@bootlin.com> wrote: > > >> > > > >> > On Tue Jul 8, 2025 at 3:29 AM CEST, Fabio Estevam via lists.openembedded.org wrote: > > >> > > Upgrade to U-Boot 2025.07. > > >> > > > > >> > > Signed-off-by: Fabio Estevam <festevam@gmail.com> > > >> > > --- > > >> > > > >> > Hi Fabio, > > >> > > > >> > Thanks for your patch. > > >> > > > >> > It looks like this is breaking selftests on the autobuilder: > > >> > > > >> > 2025-07-08 07:43:52,116 - oe-selftest - INFO - fitimage.UBootFitImageTests.test_sign_cascaded_uboot_fit_image (subunit.RemotedTestCase) > > >> > 2025-07-08 07:43:52,118 - oe-selftest - INFO - ... FAIL > > >> > ... > > >> > ERROR: u-boot-1_2025.07-r0 do_compile: oe_runmake failed > > >> > ... > > >> > | arm-poky-linux-gnueabi-ld.bfd: cannot find arch/arm/lib/lib.a: No such file or directory > > >> > > > >> > > > >> > Both on debian and armhost: > > >> > > > >> > https://autobuilder.yoctoproject.org/valkyrie/#/builders/35/builds/1923 > > >> > https://autobuilder.yoctoproject.org/valkyrie/#/builders/23/builds/2077 > > >> > > > >> > Can you have a look at these failures please? > > >> > > >> Thanks for the report. > > >> > > >> I am adding some folks on CC in case they have some ideas. > > > > > > Interesting. How can we trigger that outside of the autobuilder? > > > > Hi, > > > > It's not so easy to reproduce, as it looks like it is somehow linked > > with the host environment: this have been failing on debian workers but > > not on the fedora ones. > > So basic instructions are below, but this was not enough to reproduce it > > in the ubuntu 24.4 docker I've been using so far. > > > > git clone git://git.yoctoproject.org/poky-ci-archive -b autobuilder.yoctoproject.org/valkyrie/a-full-1972 > > cd poky-ci-archive > > . oe-init-build-env > > > > Add following lines in conf/local.conf (I bet only the last one is > > really needed, but let's try to be as close as possible as the > > autobuilder configuration): > > MACHINE = "qemux86-64" > > DISTRO = "poky" > > SDKMACHINE = "x86_64" > > PACKAGE_CLASSES = "package_rpm" > > RPM_GPG_SIGN_CHUNK = '1' > > IMAGE_INSTALL:append = ' ssh-pregen-hostkeys' > > SANITY_TESTED_DISTROS = '' > > > > Add poky-ci-archive/meta-selftest in conf/bblayers.conf. > > > > And finally, run the tests: > > oe-selftest -r fitimage.UBootFitImageTests.test_sign_cascaded_uboot_fit_image > > oe-selftest -r fitimage.UBootFitImageTests.test_sign_standalone_uboot_atf_tee_fit_image > > Yeah, looking at the logs it's not even Debian, it's Ubuntu 22.04, which > is what we use for our CI too. I guess I would suggest bisect'ing with > the autobuilder until finding out what commit breaks and then someone > from the U-Boot side of things can chime in. I've tried to reproduce this on x86_64 Ubuntu 22.04 build machine targeting qemuarm and arm64 Ubuntu 24.04 build machine targeting beaglebone. No luck so far. In my builds, lib.a has always been created in before any other linking steps happens. I presume this is a race condition where linking step of lib/efi_loader/testapp_efi.so does not actually have a dependency to the lib.a creating linking step. I'm not familiar enough with u-boot/Kconfig build setups to see where this dependency should be added. From do_compile log in passing case: set -e; mkdir -p include/generated/; (echo \#define PLAIN_VERSION \"2025.07\"; echo \#define U_BOOT_VERSION \"U-Boot \" PLAIN_VERSION; echo \#define U_BOOT_VERSION_NUM 2025; echo \#define U_BOOT_VERSION_NUM_PATCH $(echo 07 | sed -e "s/^0*//"); echo \#define HOST_ARCH 0x00a7; echo \#define CC_VERSION_STRING \"$(LC_ALL=C arm-poky-linux-gnueabi-gcc --sysroot=/home/mcfrisk/src/base/repo/poky/build_beaglebone/tmp/work/beaglebone_yocto-poky-linux-gnueabi/u-boot/2025.07/recipe-sysroot -ffile-prefix-map=/home/mcfrisk/src/base/repo/poky/build_beaglebone/tmp/work/beaglebone_yocto-poky-linux-gnueabi/u-boot/2025.07/sources/u-boot-2025.07=/usr/src/debug/u-boot/2025.07 -ffile-prefix-map=/home/mcfrisk/src/base/repo/poky/build_beaglebone/tmp/work/beaglebone_yocto-poky-linux-gnueabi/u-boot/2025.07/build=/usr/src/debug/u-boot/2025.07 -ffile-prefix-map=/home/mcfrisk/src/base/repo/poky/build_beaglebone/tmp/work/beaglebone_yocto-poky-linux-gnueabi/u-boot/2025.07/recipe-sysroot= -ffile-prefix-map=/home/mcfrisk/src/base/repo/poky/build_beaglebone/tmp/work/beaglebone_yocto-poky-linux-gnueabi/u-boot/2025.07/recipe-sysroot-native= --version | head -n 1)\"; echo \#define LD_VERSION_STRING \"$(LC_ALL=C arm-poky-linux-gnueabi-ld.bfd --version | head -n 1)\"; ) < include/config/uboot.release > include/generated/version_autogenerated.h.tmp; if [ -r include/generated/version_autogenerated.h ] && cmp -s include/generated/version_autogenerated.h include/generated/version_autogenerated.h.tmp; then rm -f include/generated/version_autogenerated.h.tmp; else : ' UPD include/generated/version_autogenerated.h'; mv -f include/generated/version_autogenerated.h.tmp include/generated/version_autogenerated.h; fi ... rm -f arch/arm/lib/lib.a; arm-poky-linux-gnueabi-ar cDPrsT arch/arm/lib/lib.a arch/arm/lib/ashldi3.o arch/arm/lib/ashrdi3.o arch/arm/lib/div0.o arch/arm/lib/div64.o arch/arm/lib/lib1funcs.o arch/arm/lib/lshrdi3.o arch/arm/lib/muldi3.o arch/arm/lib/uldivmod.o ... arm-poky-linux-gnueabi-ld.bfd -nostdlib -zexecstack -znocombreloc -znorelro --no-warn-rwx-segments -L /home/mcfrisk/src/base/repo/poky/build_beaglebone/tmp/work/beaglebone_yocto-poky-linux-gnueabi/u-boot/2025.07/sources/u-boot-2025.07 -T arch/arm/lib/elf_arm_efi.lds -shared -Bsymbolic -s lib/efi_loader/testapp.o lib/efi_loader/efi_crt0.o lib/efi_loader/efi_reloc.o lib/efi_loader/efi_freestanding.o arch/arm/lib/lib.a -o lib/efi_loader/testapp_efi.so Looks like testapp_efi.so linking step is the first one using arm-poky-linux-gnueabi-ld.bfd. Failing case: https://autobuilder.yoctoproject.org/valkyrie/api/v2/logs/2914600/raw_inline | set -e; mkdir -p include/generated/; (echo \#define PLAIN_VERSION \"2025.07\"; echo \#define U_BOOT_VERSION \"U-Boot \" PLAIN_VERSION; echo \#define U_BOOT_VERSION_NUM 2025; echo \#define U_BOOT_VERSION_NUM_PATCH $(echo 07 | sed -e "s/^0*//"); echo \#define HOST_ARCH 0x00a7; echo \#define CC_VERSION_STRING \"$(LC_ALL=C arm-poky-linux-gnueabi-gcc --sysroot=/srv/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-3119200/tmp/work/beaglebone_yocto-poky-linux-gnueabi/u-boot/2025.07/recipe-sysroot -ffile-prefix-map=/srv/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-3119200/tmp/work/beaglebone_yocto-poky-linux-gnueabi/u-boot/2025.07/sources/u-boot-2025.07=/usr/src/debug/u-boot/2025.07 -ffile-prefix-map=/srv/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-3119200/tmp/work/beaglebone_yocto-poky-linux-gnueabi/u-boot/2025.07/build=/usr/src/debug/u-boot/2025.07 -ffile-prefix-map=/srv/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-3119200/tmp/work/beaglebone_yocto-poky-linux-gnueabi/u-boot/2025.07/recipe-sysroot= -ffile-prefix-map=/srv/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-3119200/tmp/work/beaglebone_yocto-poky-linux-gnueabi/u-boot/2025.07/recipe-sysroot-native= --version | head -n 1)\"; echo \#define LD_VERSION_STRING \"$(LC_ALL=C arm-poky-linux-gnueabi-ld.bfd --version | head -n 1)\"; ) < include/config/uboot.release > include/generated/version_autogenerated.h.tmp; if [ -r include/generated/version_autogenerated.h ] && cmp -s include/generated/version_autogenerated.h include/generated/version_autogenerated.h.tmp; then rm -f include/generated/version_autogenerated.h.tmp; else : ' UPD include/generated/version_autogenerated.h'; mv -f include/generated/version_autogenerated.h.tmp include/generated/version_autogenerated.h; fi ... | rm -f lib/efi_loader/built-in.o; arm-poky-linux-gnueabi-ar cDPrsT lib/efi_loader/built-in.o lib/efi_loader/efi_bootmgr.o lib/efi_loader/efi_bootbin.o lib/efi_loader/efi_boottime.o lib/efi_loader/efi_helper.o lib/efi_loader/efi_console.o lib/efi_loader/efi_device_path.o lib/efi_loader/efi_device_path_to_text.o lib/efi_loader/efi_device_path_utilities.o lib/efi_loader/efi_dt_fixup.o lib/efi_loader/efi_fdt.o lib/efi_loader/efi_file.o lib/efi_loader/efi_hii.o lib/efi_loader/efi_hii_config.o lib/efi_loader/efi_image_loader.o lib/efi_loader/efi_load_options.o lib/efi_loader/efi_memory.o lib/efi_loader/efi_root_node.o lib/efi_loader/efi_runtime.o lib/efi_loader/efi_setup.o lib/efi_loader/efi_string.o lib/efi_loader/efi_unicode_collation.o lib/efi_loader/efi_var_common.o lib/efi_loader/efi_var_mem.o lib/efi_loader/efi_variable.o lib/efi_loader/efi_var_file.o lib/efi_loader/efi_watchdog.o lib/efi_loader/efi_disk.o lib/efi_loader/efi_net.o lib/efi_loader/efi_smbios.o lib/efi_loader/efi_load_initrd.o lib/efi_loader/efi_conformance.o | arm-poky-linux-gnueabi-ld.bfd -nostdlib -zexecstack -znocombreloc -znorelro --no-warn-rwx-segments -L /srv/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-3119200/tmp/work/beaglebone_yocto-poky-linux-gnueabi/u-boot/2025.07/sources/u-boot-2025.07 -T arch/arm/lib/elf_arm_efi.lds -shared -Bsymbolic -s lib/efi_loader/helloworld.o lib/efi_loader/efi_crt0.o lib/efi_loader/efi_reloc.o lib/efi_loader/efi_freestanding.o arch/arm/lib/lib.a -o lib/efi_loader/helloworld_efi.so | arm-poky-linux-gnueabi-ld.bfd: cannot find arch/arm/lib/lib.a: No such file or directory | make[3]: *** [scripts/Makefile.lib:512: lib/efi_loader/helloworld_efi.so] Error 1 In this failing log, nothing created lib.a before lib/efi_loader/helloworld_efi.so link step started. Cheers, -Mikko
Hi, On Thu, Jul 10, 2025 at 04:02:14PM +0300, Mikko Rapeli via lists.openembedded.org wrote: > Adding Ilias, > > On Wed, Jul 09, 2025 at 08:29:32AM -0600, Tom Rini via lists.openembedded.org wrote: > > On Wed, Jul 09, 2025 at 10:21:34AM +0200, Mathieu Dubois-Briand wrote: > > > On Tue Jul 8, 2025 at 7:57 PM CEST, Tom Rini wrote: > > > > On Tue, Jul 08, 2025 at 02:04:15PM -0300, Fabio Estevam wrote: > > > >> Hi Mathieu, > > > >> > > > >> On Tue, Jul 8, 2025 at 9:37 AM Mathieu Dubois-Briand > > > >> <mathieu.dubois-briand@bootlin.com> wrote: > > > >> > > > > >> > On Tue Jul 8, 2025 at 3:29 AM CEST, Fabio Estevam via lists.openembedded.org wrote: > > > >> > > Upgrade to U-Boot 2025.07. > > > >> > > > > > >> > > Signed-off-by: Fabio Estevam <festevam@gmail.com> > > > >> > > --- > > > >> > > > > >> > Hi Fabio, > > > >> > > > > >> > Thanks for your patch. > > > >> > > > > >> > It looks like this is breaking selftests on the autobuilder: > > > >> > > > > >> > 2025-07-08 07:43:52,116 - oe-selftest - INFO - fitimage.UBootFitImageTests.test_sign_cascaded_uboot_fit_image (subunit.RemotedTestCase) > > > >> > 2025-07-08 07:43:52,118 - oe-selftest - INFO - ... FAIL > > > >> > ... > > > >> > ERROR: u-boot-1_2025.07-r0 do_compile: oe_runmake failed > > > >> > ... > > > >> > | arm-poky-linux-gnueabi-ld.bfd: cannot find arch/arm/lib/lib.a: No such file or directory > > > >> > > > > >> > > > > >> > Both on debian and armhost: > > > >> > > > > >> > https://autobuilder.yoctoproject.org/valkyrie/#/builders/35/builds/1923 > > > >> > https://autobuilder.yoctoproject.org/valkyrie/#/builders/23/builds/2077 > > > >> > > > > >> > Can you have a look at these failures please? > > > >> > > > >> Thanks for the report. > > > >> > > > >> I am adding some folks on CC in case they have some ideas. > > > > > > > > Interesting. How can we trigger that outside of the autobuilder? > > > > > > Hi, > > > > > > It's not so easy to reproduce, as it looks like it is somehow linked > > > with the host environment: this have been failing on debian workers but > > > not on the fedora ones. > > > So basic instructions are below, but this was not enough to reproduce it > > > in the ubuntu 24.4 docker I've been using so far. > > > > > > git clone git://git.yoctoproject.org/poky-ci-archive -b autobuilder.yoctoproject.org/valkyrie/a-full-1972 > > > cd poky-ci-archive > > > . oe-init-build-env > > > > > > Add following lines in conf/local.conf (I bet only the last one is > > > really needed, but let's try to be as close as possible as the > > > autobuilder configuration): > > > MACHINE = "qemux86-64" > > > DISTRO = "poky" > > > SDKMACHINE = "x86_64" > > > PACKAGE_CLASSES = "package_rpm" > > > RPM_GPG_SIGN_CHUNK = '1' > > > IMAGE_INSTALL:append = ' ssh-pregen-hostkeys' > > > SANITY_TESTED_DISTROS = '' > > > > > > Add poky-ci-archive/meta-selftest in conf/bblayers.conf. > > > > > > And finally, run the tests: > > > oe-selftest -r fitimage.UBootFitImageTests.test_sign_cascaded_uboot_fit_image > > > oe-selftest -r fitimage.UBootFitImageTests.test_sign_standalone_uboot_atf_tee_fit_image > > > > Yeah, looking at the logs it's not even Debian, it's Ubuntu 22.04, which > > is what we use for our CI too. I guess I would suggest bisect'ing with > > the autobuilder until finding out what commit breaks and then someone > > from the U-Boot side of things can chime in. > > I've tried to reproduce this on x86_64 Ubuntu 22.04 build machine > targeting qemuarm and arm64 Ubuntu 24.04 build machine targeting > beaglebone. No luck so far. In my builds, lib.a has always been > created in before any other linking steps happens. I presume this is a > race condition where linking step of lib/efi_loader/testapp_efi.so > does not actually have a dependency to the lib.a creating linking step. > > I'm not familiar enough with u-boot/Kconfig build setups to see where this > dependency should be added. > > From do_compile log in passing case: > > set -e; mkdir -p include/generated/; (echo \#define PLAIN_VERSION \"2025.07\"; echo \#define U_BOOT_VERSION \"U-Boot \" PLAIN_VERSION; echo \#define U_BOOT_VERSION_NUM 2025; echo \#define U_BOOT_VERSION_NUM_PATCH $(echo 07 | sed -e "s/^0*//"); echo \#define HOST_ARCH 0x00a7; echo \#define CC_VERSION_STRING \"$(LC_ALL=C arm-poky-linux-gnueabi-gcc --sysroot=/home/mcfrisk/src/base/repo/poky/build_beaglebone/tmp/work/beaglebone_yocto-poky-linux-gnueabi/u-boot/2025.07/recipe-sysroot -ffile-prefix-map=/home/mcfrisk/src/base/repo/poky/build_beaglebone/tmp/work/beaglebone_yocto-poky-linux-gnueabi/u-boot/2025.07/sources/u-boot-2025.07=/usr/src/debug/u-boot/2025.07 -ffile-prefix-map=/home/mcfrisk/src/base/repo/poky/build_beaglebone/tmp/work/beaglebone_yocto-poky-linux-gnueabi/u-boot/2025.07/build=/usr/src/debug/u-boot/2025.07 -ffile-prefix-map=/home/mcfrisk/src/base/repo/poky/build_beaglebone/tmp/work/beaglebone_yocto-poky-linux-gnueabi/u-boot/2025.07/recipe-sysroot= -ffile-prefix-map=/home/mcfrisk/src/base/repo/poky/build_beaglebone/tmp/work/beaglebone_yocto-poky-linux-gnueabi/u-boot/2025.07/recipe-sysroot-native= --version | head -n 1)\"; echo \#define LD_VERSION_STRING \"$(LC_ALL=C arm-poky-linux-gnueabi-ld.bfd --version | head -n 1)\"; ) < include/config/uboot.release > include/generated/version_autogenerated.h.tmp; if [ -r include/generated/version_autogenerated.h ] && cmp -s include/generated/version_autogenerated.h include/generated/version_autogenerated.h.tmp; then rm -f include/generated/version_autogenerated.h.tmp; else : ' UPD include/generated/version_autogenerated.h'; mv -f include/generated/version_autogenerated.h.tmp include/generated/version_autogenerated.h; fi > ... > rm -f arch/arm/lib/lib.a; arm-poky-linux-gnueabi-ar cDPrsT arch/arm/lib/lib.a arch/arm/lib/ashldi3.o arch/arm/lib/ashrdi3.o arch/arm/lib/div0.o arch/arm/lib/div64.o arch/arm/lib/lib1funcs.o arch/arm/lib/lshrdi3.o arch/arm/lib/muldi3.o arch/arm/lib/uldivmod.o > ... > arm-poky-linux-gnueabi-ld.bfd -nostdlib -zexecstack -znocombreloc -znorelro --no-warn-rwx-segments -L /home/mcfrisk/src/base/repo/poky/build_beaglebone/tmp/work/beaglebone_yocto-poky-linux-gnueabi/u-boot/2025.07/sources/u-boot-2025.07 -T arch/arm/lib/elf_arm_efi.lds -shared -Bsymbolic -s lib/efi_loader/testapp.o lib/efi_loader/efi_crt0.o lib/efi_loader/efi_reloc.o lib/efi_loader/efi_freestanding.o arch/arm/lib/lib.a -o lib/efi_loader/testapp_efi.so > > Looks like testapp_efi.so linking step is the first one using > arm-poky-linux-gnueabi-ld.bfd. > > Failing case: > > https://autobuilder.yoctoproject.org/valkyrie/api/v2/logs/2914600/raw_inline > > | set -e; mkdir -p include/generated/; (echo \#define PLAIN_VERSION \"2025.07\"; echo \#define U_BOOT_VERSION \"U-Boot \" PLAIN_VERSION; echo \#define U_BOOT_VERSION_NUM 2025; echo \#define U_BOOT_VERSION_NUM_PATCH $(echo 07 | sed -e "s/^0*//"); echo \#define HOST_ARCH 0x00a7; echo \#define CC_VERSION_STRING \"$(LC_ALL=C arm-poky-linux-gnueabi-gcc --sysroot=/srv/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-3119200/tmp/work/beaglebone_yocto-poky-linux-gnueabi/u-boot/2025.07/recipe-sysroot -ffile-prefix-map=/srv/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-3119200/tmp/work/beaglebone_yocto-poky-linux-gnueabi/u-boot/2025.07/sources/u-boot-2025.07=/usr/src/debug/u-boot/2025.07 -ffile-prefix-map=/srv/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-3119200/tmp/work/beaglebone_yocto-poky-linux-gnueabi/u-boot/2025.07/build=/usr/src/debug/u-boot/2025.07 -ffile-prefix-map=/srv/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-3119200/tmp/work/beaglebone_yocto-poky-linux-gnueabi/u-boot/2025.07/recipe-sysroot= -ffile-prefix-map=/srv/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-3119200/tmp/work/beaglebone_yocto-poky-linux-gnueabi/u-boot/2025.07/recipe-sysroot-native= --version | head -n 1)\"; echo \#define LD_VERSION_STRING \"$(LC_ALL=C arm-poky-linux-gnueabi-ld.bfd --version | head -n 1)\"; ) < include/config/uboot.release > include/generated/version_autogenerated.h.tmp; if [ -r include/generated/version_autogenerated.h ] && cmp -s include/generated/version_autogenerated.h include/generated/version_autogenerated.h.tmp; then rm -f include/generated/version_autogenerated.h.tmp; else : ' UPD include/generated/version_autogenerated.h'; mv -f include/generated/version_autogenerated.h.tmp include/generated/version_autogenerated.h; fi > ... > | rm -f lib/efi_loader/built-in.o; arm-poky-linux-gnueabi-ar cDPrsT lib/efi_loader/built-in.o lib/efi_loader/efi_bootmgr.o lib/efi_loader/efi_bootbin.o lib/efi_loader/efi_boottime.o lib/efi_loader/efi_helper.o lib/efi_loader/efi_console.o lib/efi_loader/efi_device_path.o lib/efi_loader/efi_device_path_to_text.o lib/efi_loader/efi_device_path_utilities.o lib/efi_loader/efi_dt_fixup.o lib/efi_loader/efi_fdt.o lib/efi_loader/efi_file.o lib/efi_loader/efi_hii.o lib/efi_loader/efi_hii_config.o lib/efi_loader/efi_image_loader.o lib/efi_loader/efi_load_options.o lib/efi_loader/efi_memory.o lib/efi_loader/efi_root_node.o lib/efi_loader/efi_runtime.o lib/efi_loader/efi_setup.o lib/efi_loader/efi_string.o lib/efi_loader/efi_unicode_collation.o lib/efi_loader/efi_var_common.o lib/efi_loader/efi_var_mem.o lib/efi_loader/efi_variable.o lib/efi_loader/efi_var_file.o lib/efi_loader/efi_watchdog.o lib/efi_loader/efi_disk.o lib/efi_loader/efi_net.o lib/efi_loader/efi_smbios.o lib/efi_loader/efi_load_initrd.o lib/efi_loader/efi_conformance.o > | arm-poky-linux-gnueabi-ld.bfd -nostdlib -zexecstack -znocombreloc -znorelro --no-warn-rwx-segments -L /srv/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-3119200/tmp/work/beaglebone_yocto-poky-linux-gnueabi/u-boot/2025.07/sources/u-boot-2025.07 -T arch/arm/lib/elf_arm_efi.lds -shared -Bsymbolic -s lib/efi_loader/helloworld.o lib/efi_loader/efi_crt0.o lib/efi_loader/efi_reloc.o lib/efi_loader/efi_freestanding.o arch/arm/lib/lib.a -o lib/efi_loader/helloworld_efi.so > | arm-poky-linux-gnueabi-ld.bfd: cannot find arch/arm/lib/lib.a: No such file or directory > | make[3]: *** [scripts/Makefile.lib:512: lib/efi_loader/helloworld_efi.so] Error 1 > > In this failing log, nothing created lib.a before lib/efi_loader/helloworld_efi.so > link step started. I managed to reproduce the problem with an artificial delay: --- a/scripts/Makefile.build +++ b/scripts/Makefile.build @@ -353,7 +353,7 @@ $(modorder-target): $(subdir-ym) FORCE # ifdef lib-target quiet_cmd_link_l_target = AR $@ -cmd_link_l_target = rm -f $@; $(AR) cDPrsT$(KBUILD_ARFLAGS) $@ $(lib-y) +cmd_link_l_target = rm -f $@ && echo "HACK, delaying build!" && sleep 60 && $(AR) cDPrsT$(KBUILD_ARFLAGS) $@ $(lib-y) $(lib-target): $(lib-y) FORCE $(call if_changed,link_l_target) and fix for this seems to be: --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib @@ -508,7 +508,7 @@ $(obj)/efi_reloc.o: $(srctree)/arch/$(ARCH)/lib/$(EFI_RELOC:.o=.c) $(recordmcoun $(call cmd,force_checksrc) $(call if_changed_rule,cc_o_c) -$(obj)/%_efi.so: $(obj)/%.o $(obj)/efi_crt0.o $(obj)/efi_reloc.o $(obj)/efi_freestanding.o +$(obj)/%_efi.so: $(PLATFORM_LIBGCC) $(obj)/%.o $(obj)/efi_crt0.o $(obj)/efi_reloc.o $(obj)/efi_freestanding.o $(call cmd,efi_ld) targets += $(obj)/efi_crt0.o $(obj)/efi_reloc.o $(obj)/efi_freestanding.o I sent this to u-boot list but it seems my message is in moderator queue. Fabio was on Cc: so maybe you can pick this up for a new revision of u-boot update to oe-core. It should fix the race condition. Cheers, -Mikko
On Thu, Jul 10, 2025 at 05:50:53PM +0300, Mikko Rapeli wrote: > Hi, > > On Thu, Jul 10, 2025 at 04:02:14PM +0300, Mikko Rapeli via lists.openembedded.org wrote: > > Adding Ilias, > > > > On Wed, Jul 09, 2025 at 08:29:32AM -0600, Tom Rini via lists.openembedded.org wrote: > > > On Wed, Jul 09, 2025 at 10:21:34AM +0200, Mathieu Dubois-Briand wrote: > > > > On Tue Jul 8, 2025 at 7:57 PM CEST, Tom Rini wrote: > > > > > On Tue, Jul 08, 2025 at 02:04:15PM -0300, Fabio Estevam wrote: > > > > >> Hi Mathieu, > > > > >> > > > > >> On Tue, Jul 8, 2025 at 9:37 AM Mathieu Dubois-Briand > > > > >> <mathieu.dubois-briand@bootlin.com> wrote: > > > > >> > > > > > >> > On Tue Jul 8, 2025 at 3:29 AM CEST, Fabio Estevam via lists.openembedded.org wrote: > > > > >> > > Upgrade to U-Boot 2025.07. > > > > >> > > > > > > >> > > Signed-off-by: Fabio Estevam <festevam@gmail.com> > > > > >> > > --- > > > > >> > > > > > >> > Hi Fabio, > > > > >> > > > > > >> > Thanks for your patch. > > > > >> > > > > > >> > It looks like this is breaking selftests on the autobuilder: > > > > >> > > > > > >> > 2025-07-08 07:43:52,116 - oe-selftest - INFO - fitimage.UBootFitImageTests.test_sign_cascaded_uboot_fit_image (subunit.RemotedTestCase) > > > > >> > 2025-07-08 07:43:52,118 - oe-selftest - INFO - ... FAIL > > > > >> > ... > > > > >> > ERROR: u-boot-1_2025.07-r0 do_compile: oe_runmake failed > > > > >> > ... > > > > >> > | arm-poky-linux-gnueabi-ld.bfd: cannot find arch/arm/lib/lib.a: No such file or directory > > > > >> > > > > > >> > > > > > >> > Both on debian and armhost: > > > > >> > > > > > >> > https://autobuilder.yoctoproject.org/valkyrie/#/builders/35/builds/1923 > > > > >> > https://autobuilder.yoctoproject.org/valkyrie/#/builders/23/builds/2077 > > > > >> > > > > > >> > Can you have a look at these failures please? > > > > >> > > > > >> Thanks for the report. > > > > >> > > > > >> I am adding some folks on CC in case they have some ideas. > > > > > > > > > > Interesting. How can we trigger that outside of the autobuilder? > > > > > > > > Hi, > > > > > > > > It's not so easy to reproduce, as it looks like it is somehow linked > > > > with the host environment: this have been failing on debian workers but > > > > not on the fedora ones. > > > > So basic instructions are below, but this was not enough to reproduce it > > > > in the ubuntu 24.4 docker I've been using so far. > > > > > > > > git clone git://git.yoctoproject.org/poky-ci-archive -b autobuilder.yoctoproject.org/valkyrie/a-full-1972 > > > > cd poky-ci-archive > > > > . oe-init-build-env > > > > > > > > Add following lines in conf/local.conf (I bet only the last one is > > > > really needed, but let's try to be as close as possible as the > > > > autobuilder configuration): > > > > MACHINE = "qemux86-64" > > > > DISTRO = "poky" > > > > SDKMACHINE = "x86_64" > > > > PACKAGE_CLASSES = "package_rpm" > > > > RPM_GPG_SIGN_CHUNK = '1' > > > > IMAGE_INSTALL:append = ' ssh-pregen-hostkeys' > > > > SANITY_TESTED_DISTROS = '' > > > > > > > > Add poky-ci-archive/meta-selftest in conf/bblayers.conf. > > > > > > > > And finally, run the tests: > > > > oe-selftest -r fitimage.UBootFitImageTests.test_sign_cascaded_uboot_fit_image > > > > oe-selftest -r fitimage.UBootFitImageTests.test_sign_standalone_uboot_atf_tee_fit_image > > > > > > Yeah, looking at the logs it's not even Debian, it's Ubuntu 22.04, which > > > is what we use for our CI too. I guess I would suggest bisect'ing with > > > the autobuilder until finding out what commit breaks and then someone > > > from the U-Boot side of things can chime in. > > > > I've tried to reproduce this on x86_64 Ubuntu 22.04 build machine > > targeting qemuarm and arm64 Ubuntu 24.04 build machine targeting > > beaglebone. No luck so far. In my builds, lib.a has always been > > created in before any other linking steps happens. I presume this is a > > race condition where linking step of lib/efi_loader/testapp_efi.so > > does not actually have a dependency to the lib.a creating linking step. > > > > I'm not familiar enough with u-boot/Kconfig build setups to see where this > > dependency should be added. > > > > From do_compile log in passing case: > > > > set -e; mkdir -p include/generated/; (echo \#define PLAIN_VERSION \"2025.07\"; echo \#define U_BOOT_VERSION \"U-Boot \" PLAIN_VERSION; echo \#define U_BOOT_VERSION_NUM 2025; echo \#define U_BOOT_VERSION_NUM_PATCH $(echo 07 | sed -e "s/^0*//"); echo \#define HOST_ARCH 0x00a7; echo \#define CC_VERSION_STRING \"$(LC_ALL=C arm-poky-linux-gnueabi-gcc --sysroot=/home/mcfrisk/src/base/repo/poky/build_beaglebone/tmp/work/beaglebone_yocto-poky-linux-gnueabi/u-boot/2025.07/recipe-sysroot -ffile-prefix-map=/home/mcfrisk/src/base/repo/poky/build_beaglebone/tmp/work/beaglebone_yocto-poky-linux-gnueabi/u-boot/2025.07/sources/u-boot-2025.07=/usr/src/debug/u-boot/2025.07 -ffile-prefix-map=/home/mcfrisk/src/base/repo/poky/build_beaglebone/tmp/work/beaglebone_yocto-poky-linux-gnueabi/u-boot/2025.07/build=/usr/src/debug/u-boot/2025.07 -ffile-prefix-map=/home/mcfrisk/src/base/repo/poky/build_beaglebone/tmp/work/beaglebone_yocto-poky-linux-gnueabi/u-boot/2025.07/recipe-sysroot= -ffile-prefix-map=/home/mcfrisk/src/base/repo/poky/build_beaglebone/tmp/work/beaglebone_yocto-poky-linux-gnueabi/u-boot/2025.07/recipe-sysroot-native= --version | head -n 1)\"; echo \#define LD_VERSION_STRING \"$(LC_ALL=C arm-poky-linux-gnueabi-ld.bfd --version | head -n 1)\"; ) < include/config/uboot.release > include/generated/version_autogenerated.h.tmp; if [ -r include/generated/version_autogenerated.h ] && cmp -s include/generated/version_autogenerated.h include/generated/version_autogenerated.h.tmp; then rm -f include/generated/version_autogenerated.h.tmp; else : ' UPD include/generated/version_autogenerated.h'; mv -f include/generated/version_autogenerated.h.tmp include/generated/version_autogenerated.h; fi > > ... > > rm -f arch/arm/lib/lib.a; arm-poky-linux-gnueabi-ar cDPrsT arch/arm/lib/lib.a arch/arm/lib/ashldi3.o arch/arm/lib/ashrdi3.o arch/arm/lib/div0.o arch/arm/lib/div64.o arch/arm/lib/lib1funcs.o arch/arm/lib/lshrdi3.o arch/arm/lib/muldi3.o arch/arm/lib/uldivmod.o > > ... > > arm-poky-linux-gnueabi-ld.bfd -nostdlib -zexecstack -znocombreloc -znorelro --no-warn-rwx-segments -L /home/mcfrisk/src/base/repo/poky/build_beaglebone/tmp/work/beaglebone_yocto-poky-linux-gnueabi/u-boot/2025.07/sources/u-boot-2025.07 -T arch/arm/lib/elf_arm_efi.lds -shared -Bsymbolic -s lib/efi_loader/testapp.o lib/efi_loader/efi_crt0.o lib/efi_loader/efi_reloc.o lib/efi_loader/efi_freestanding.o arch/arm/lib/lib.a -o lib/efi_loader/testapp_efi.so > > > > Looks like testapp_efi.so linking step is the first one using > > arm-poky-linux-gnueabi-ld.bfd. > > > > Failing case: > > > > https://autobuilder.yoctoproject.org/valkyrie/api/v2/logs/2914600/raw_inline > > > > | set -e; mkdir -p include/generated/; (echo \#define PLAIN_VERSION \"2025.07\"; echo \#define U_BOOT_VERSION \"U-Boot \" PLAIN_VERSION; echo \#define U_BOOT_VERSION_NUM 2025; echo \#define U_BOOT_VERSION_NUM_PATCH $(echo 07 | sed -e "s/^0*//"); echo \#define HOST_ARCH 0x00a7; echo \#define CC_VERSION_STRING \"$(LC_ALL=C arm-poky-linux-gnueabi-gcc --sysroot=/srv/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-3119200/tmp/work/beaglebone_yocto-poky-linux-gnueabi/u-boot/2025.07/recipe-sysroot -ffile-prefix-map=/srv/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-3119200/tmp/work/beaglebone_yocto-poky-linux-gnueabi/u-boot/2025.07/sources/u-boot-2025.07=/usr/src/debug/u-boot/2025.07 -ffile-prefix-map=/srv/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-3119200/tmp/work/beaglebone_yocto-poky-linux-gnueabi/u-boot/2025.07/build=/usr/src/debug/u-boot/2025.07 -ffile-prefix-map=/srv/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-3119200/tmp/work/beaglebone_yocto-poky-linux-gnueabi/u-boot/2025.07/recipe-sysroot= -ffile-prefix-map=/srv/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-3119200/tmp/work/beaglebone_yocto-poky-linux-gnueabi/u-boot/2025.07/recipe-sysroot-native= --version | head -n 1)\"; echo \#define LD_VERSION_STRING \"$(LC_ALL=C arm-poky-linux-gnueabi-ld.bfd --version | head -n 1)\"; ) < include/config/uboot.release > include/generated/version_autogenerated.h.tmp; if [ -r include/generated/version_autogenerated.h ] && cmp -s include/generated/version_autogenerated.h include/generated/version_autogenerated.h.tmp; then rm -f include/generated/version_autogenerated.h.tmp; else : ' UPD include/generated/version_autogenerated.h'; mv -f include/generated/version_autogenerated.h.tmp include/generated/version_autogenerated.h; fi > > ... > > | rm -f lib/efi_loader/built-in.o; arm-poky-linux-gnueabi-ar cDPrsT lib/efi_loader/built-in.o lib/efi_loader/efi_bootmgr.o lib/efi_loader/efi_bootbin.o lib/efi_loader/efi_boottime.o lib/efi_loader/efi_helper.o lib/efi_loader/efi_console.o lib/efi_loader/efi_device_path.o lib/efi_loader/efi_device_path_to_text.o lib/efi_loader/efi_device_path_utilities.o lib/efi_loader/efi_dt_fixup.o lib/efi_loader/efi_fdt.o lib/efi_loader/efi_file.o lib/efi_loader/efi_hii.o lib/efi_loader/efi_hii_config.o lib/efi_loader/efi_image_loader.o lib/efi_loader/efi_load_options.o lib/efi_loader/efi_memory.o lib/efi_loader/efi_root_node.o lib/efi_loader/efi_runtime.o lib/efi_loader/efi_setup.o lib/efi_loader/efi_string.o lib/efi_loader/efi_unicode_collation.o lib/efi_loader/efi_var_common.o lib/efi_loader/efi_var_mem.o lib/efi_loader/efi_variable.o lib/efi_loader/efi_var_file.o lib/efi_loader/efi_watchdog.o lib/efi_loader/efi_disk.o lib/efi_loader/efi_net.o lib/efi_loader/efi_smbios.o lib/efi_loader/efi_load_initrd.o lib/efi_loader/efi_conformance.o > > | arm-poky-linux-gnueabi-ld.bfd -nostdlib -zexecstack -znocombreloc -znorelro --no-warn-rwx-segments -L /srv/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-3119200/tmp/work/beaglebone_yocto-poky-linux-gnueabi/u-boot/2025.07/sources/u-boot-2025.07 -T arch/arm/lib/elf_arm_efi.lds -shared -Bsymbolic -s lib/efi_loader/helloworld.o lib/efi_loader/efi_crt0.o lib/efi_loader/efi_reloc.o lib/efi_loader/efi_freestanding.o arch/arm/lib/lib.a -o lib/efi_loader/helloworld_efi.so > > | arm-poky-linux-gnueabi-ld.bfd: cannot find arch/arm/lib/lib.a: No such file or directory > > | make[3]: *** [scripts/Makefile.lib:512: lib/efi_loader/helloworld_efi.so] Error 1 > > > > In this failing log, nothing created lib.a before lib/efi_loader/helloworld_efi.so > > link step started. > > I managed to reproduce the problem with an artificial delay: > > --- a/scripts/Makefile.build > +++ b/scripts/Makefile.build > @@ -353,7 +353,7 @@ $(modorder-target): $(subdir-ym) FORCE > # > ifdef lib-target > quiet_cmd_link_l_target = AR $@ > -cmd_link_l_target = rm -f $@; $(AR) cDPrsT$(KBUILD_ARFLAGS) $@ $(lib-y) > +cmd_link_l_target = rm -f $@ && echo "HACK, delaying build!" && sleep 60 && $(AR) cDPrsT$(KBUILD_ARFLAGS) $@ $(lib-y) > > $(lib-target): $(lib-y) FORCE > $(call if_changed,link_l_target) > > > and fix for this seems to be: > > --- a/scripts/Makefile.lib > +++ b/scripts/Makefile.lib > @@ -508,7 +508,7 @@ $(obj)/efi_reloc.o: $(srctree)/arch/$(ARCH)/lib/$(EFI_RELOC:.o=.c) $(recordmcoun > $(call cmd,force_checksrc) > $(call if_changed_rule,cc_o_c) > > -$(obj)/%_efi.so: $(obj)/%.o $(obj)/efi_crt0.o $(obj)/efi_reloc.o $(obj)/efi_freestanding.o > +$(obj)/%_efi.so: $(PLATFORM_LIBGCC) $(obj)/%.o $(obj)/efi_crt0.o $(obj)/efi_reloc.o $(obj)/efi_freestanding.o > $(call cmd,efi_ld) > > targets += $(obj)/efi_crt0.o $(obj)/efi_reloc.o $(obj)/efi_freestanding.o > > I sent this to u-boot list but it seems my message is in moderator queue. > Fabio was on Cc: so maybe you can pick this up for a new revision of u-boot > update to oe-core. It should fix the race condition. I cleared you patch (and moderation flag) but I don't think the above works in all cases since PLATFORM_LIBGCC can have a number of values only one of which is that file.
diff --git a/meta/recipes-bsp/u-boot/u-boot-common.inc b/meta/recipes-bsp/u-boot/u-boot-common.inc index 617f5a60bb88..d087525edfea 100644 --- a/meta/recipes-bsp/u-boot/u-boot-common.inc +++ b/meta/recipes-bsp/u-boot/u-boot-common.inc @@ -12,7 +12,7 @@ PE = "1" # We use the revision in order to avoid having to fetch it from the # repo during parse -SRCREV = "34820924edbc4ec7803eb89d9852f4b870fa760a" +SRCREV = "e37de002fac3895e8d0b60ae2015e17bb33e2b5b" SRC_URI = "git://source.denx.de/u-boot/u-boot.git;protocol=https;branch=master;tag=v${PV}" diff --git a/meta/recipes-bsp/u-boot/u-boot-tools_2025.04.bb b/meta/recipes-bsp/u-boot/u-boot-tools_2025.07.bb similarity index 100% rename from meta/recipes-bsp/u-boot/u-boot-tools_2025.04.bb rename to meta/recipes-bsp/u-boot/u-boot-tools_2025.07.bb diff --git a/meta/recipes-bsp/u-boot/u-boot_2025.04.bb b/meta/recipes-bsp/u-boot/u-boot_2025.07.bb similarity index 100% rename from meta/recipes-bsp/u-boot/u-boot_2025.04.bb rename to meta/recipes-bsp/u-boot/u-boot_2025.07.bb
Upgrade to U-Boot 2025.07. Signed-off-by: Fabio Estevam <festevam@gmail.com> --- meta/recipes-bsp/u-boot/u-boot-common.inc | 2 +- .../u-boot/{u-boot-tools_2025.04.bb => u-boot-tools_2025.07.bb} | 0 .../recipes-bsp/u-boot/{u-boot_2025.04.bb => u-boot_2025.07.bb} | 0 3 files changed, 1 insertion(+), 1 deletion(-) rename meta/recipes-bsp/u-boot/{u-boot-tools_2025.04.bb => u-boot-tools_2025.07.bb} (100%) rename meta/recipes-bsp/u-boot/{u-boot_2025.04.bb => u-boot_2025.07.bb} (100%)