Re: 2.6.15 make fails with multiple targets in parallel

From: Sam Ravnborg
Date: Wed Jan 11 2006 - 11:38:11 EST


On Wed, Jan 11, 2006 at 07:39:11PM +1100, Keith Owens wrote:
> Running make on the kernel tree with multiple targets on the command
> line and in parallel mode gets errors. The prepare targets are run
> several times, once for each target on the command line. Sometimes the
> result is sensible, sometimes the prepare commands overwrite each other
> with either garbage or missing files.
>
> make -j12 compressed modules vmlinux
> Using /foo/linux as source for kernel
> Using /foo/linux as source for kernel
> Using /foo/linux as source for kernel
> GEN /foo/obj/Makefile
I've tested it locally. It happens only when using 'make O=...'
or in your case with KBUILT_OUTPUT set to a value.

I will try to take a look during the weekend but if you have any inputs
that would be appreciated.

> Is this where we mention http://www.google.com/search?q=cache:HwuX7YF2uBIJ:aegis.sourceforge.net/auug97.pdf&hl=en ?
>
The bug you see is due to the way the "make O=..." support is done - not
due to use of recursive makefiles in the kernel.

That being said I hope one day to write a tool that can take all
the kbuild files used as part of the kernel build and create one
big Makefile - sounds familiar?

The current syntax is rather easy to parse up so no syntax changes in
the kbuild (makefile) files needed.
But several other topics are higher on the todo list for now.

Sam
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/