make -j12 all fails in uImage target
Sam Ravnborg
sam at ravnborg.org
Mon Feb 7 09:53:23 EST 2005
On Sun, Feb 06, 2005 at 02:51:31PM -0700, Tom Rini wrote:
> On Sun, Feb 06, 2005 at 01:40:14PM +0100, Olaf Hering wrote:
> >
> > 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.
Sam
More information about the Linuxppc-dev
mailing list