Re: make -j12 all fails in uImage target
From: Tom Rini <hidden>
Date: 2005-02-06 23:51:00
On Sun, Feb 06, 2005 at 11:53:23PM +0100, Sam Ravnborg wrote:
On Sun, Feb 06, 2005 at 02:51:31PM -0700, Tom Rini wrote:quoted
On Sun, Feb 06, 2005 at 01:40:14PM +0100, Olaf Hering wrote:quoted
this is what I got with 2.6.11rc3: make ARCH=ppc O=../O-2.6.11-rc3-b50-SMP -j12 all ... LD vmlinux SYSMAP System.map SYSMAP .tmp_System.map OBJCOPY arch/ppc/boot/images/vmlinux.bin HOSTCC arch/ppc/boot/utils/addnote HOSTCC arch/ppc/boot/utils/mknote HOSTCC arch/ppc/boot/utils/mkprep LD arch/ppc/boot/lib/built-in.o HOSTCC arch/ppc/boot/utils/hack-coff HOSTCC arch/ppc/boot/utils/mkbugboot OBJCOPY arch/ppc/boot/images/vmlinux.bin GZIP arch/ppc/boot/images/vmlinux.gz /bin/sh: line 1: arch/ppc/boot/images/vmlinux.bin: No such file or directory make[2]: *** [arch/ppc/boot/images/vmlinux.gz] Error 1 make[1]: *** [uImage] Error 2 make[1]: *** Waiting for unfinished jobs.... also, one time that zImage.chrp was only 570K instead of the expected 1.4M, so netboot failed. But I got no build error. Any idea what dependency is missing?That is kinda odd. My thought is that arch/ppc/boot/ just isn't fully safe for -j'ing. Sam, any ideas on how to debug this kinda problem?The problem is that the images/ sub directory is visited before the prerequisites are finished. I have no good way to debug this - I can see it based on the Makefile and the output Olaf included. Also the problem Olaf describe is just a cp of a half finished file. So the fix is to let the images/ directory depends on the rest of the directories. Something like this may do the trick: $(obj)/images: $(addprefix $(obj)/,$(subdir-y) $(bootdir-y)) $(Q)$(MAKE) $(build)=$@ And then delete the assignment of images to subdir-y Another solution would be to get rid on the images/ drectory and place outputfiles where they are being built.
Hopefully the first works, since I really do like having all the various images we create end up in one spot. :) -- Tom Rini http://gate.crashing.org/~trini/