make -j12 all fails in uImage target
Olaf Hering
olh at suse.de
Thu May 26 07:34:33 EST 2005
On Sun, Feb 06, Sam Ravnborg wrote:
> 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:
> > > 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.
I did it this way:
...
AS arch/ppc/boot/common/util.o
CC arch/ppc/boot/of1275/write.o
AR arch/ppc/boot/common/lib.a
AR arch/ppc/boot/of1275/lib.a
`arch/ppc/boot/images/vmlinux.gz.27631' -> `arch/ppc/boot/images/vmlinux.gz'
AR arch/ppc/boot/lib/lib.a
UIMAGE arch/ppc/boot/images/uImage
"mkimage" command not found - U-Boot images will not be built
Image: arch/ppc/boot/images/uImage not made
`arch/ppc/boot/images/vmlinux.gz.27676' -> `arch/ppc/boot/images/vmlinux.gz'
CC arch/ppc/boot/openfirmware/dummy.o
AS arch/ppc/boot/simple/head.o
AS arch/ppc/boot/simple/relocate.o
...
Index: linux-2.6.12-rc5-olh/scripts/Makefile.lib
===================================================================
--- linux-2.6.12-rc5-olh.orig/scripts/Makefile.lib
+++ linux-2.6.12-rc5-olh/scripts/Makefile.lib
@@ -1,3 +1,4 @@
+# vim: syntax=sh
# ===========================================================================
# kbuild: Generic definitions
# ===========================================================================
@@ -177,7 +178,7 @@ cmd_objcopy = $(OBJCOPY) $(OBJCOPYFLAGS)
# ---------------------------------------------------------------------------
quiet_cmd_gzip = GZIP $@
-cmd_gzip = gzip -f -9 < $< > $@
+cmd_gzip = gzip -f -9 < $< > $@.$$$$ ; mv -v $@.$$$$ $@
# ===========================================================================
# Generic stuff
More information about the Linuxppc-dev
mailing list