
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