[U-Boot] Parallel make issue with helloworld.efi

Heinrich Schuchardt xypron.glpk at gmx.de
Sun May 27 17:11:56 UTC 2018


On 11/07/2017 04:57 PM, Tuomas Tynkkynen wrote:
> Hi,
> 
> Every now and then I see parallel builds failing, e.g. with
> Linksprite_pcDuino3_Nano_defconfig:
> 
>   CC      lib/efi_loader/efi_bootmgr.o
>   CC      lib/efi_loader/efi_disk.o
>   CC      lib/efi_loader/efi_net.o
> make[2]: *** No rule to make target 'lib/efi_loader/helloworld.efi',
> needed by '__build'.  Stop.
> make[2]: *** Waiting for unfinished jobs....
>   CC      lib/efi_loader/efi_smbios.o
> make[1]: *** [scripts/Makefile.build:425: lib/efi_loader] Error 2
> make: *** [Makefile:1279: lib] Error 2
> 
> This has been going for a while now (since ~2017.03 or so).
> Anybody have ideas on how to express the dependency properly?

Hello Tuomas,

the build dependencies for *.efi files are described in
./scripts/Makefile.lib:

EFI_LDS_PATH = $(srctree)/arch/$(ARCH)/lib/$(EFI_LDS)

cmd_efi_ld = $(LD) -nostdlib -znocombreloc -T $(EFI_LDS_PATH) -shared \
                -Bsymbolic $^ -o $@

$(obj)/%_efi.so: $(obj)/%.o arch/$(ARCH)/lib/$(EFI_CRT0) \
                arch/$(ARCH)/lib/$(EFI_RELOC)
        $(call cmd,efi_ld)

$(obj)/%.efi: $(obj)/%_efi.so
        $(call cmd,efi_objcopy)

The target is selected in lib/efi_loader/Makefile:

ifneq ($(CONFIG_CMD_BOOTEFI_HELLO_COMPILE),)
always += helloworld.efi
endif

obj-$(CONFIG_CMD_BOOTEFI_HELLO) += helloworld_efi.o
obj-y += efi_image_loader.o efi_boottime.o efi_runtim

Does the problem ever occur if you run mrproper beforehand?

To allow analyzing your problem, please, run make with parameter V=1,
provide the command line you used, the value of $CROSS_COMPILE, the
.config file, and the complete output of make.

Further provide the output of
find . -exec ls {} -la --time-style=full-iso \;

Best regards

Heinrich

> 
> Thanks!
> - Tuomas
> 



More information about the U-Boot mailing list