bug-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Make 3.81 and 3.82 break on parallel build


From: Paul Smith
Subject: Re: Make 3.81 and 3.82 break on parallel build
Date: Wed, 16 Nov 2011 13:47:06 -0500

On Wed, 2011-11-16 at 12:32 -0600, address@hidden wrote:
> I have a make file that includes a set of machine generated dependency
> files. Those files describe a set of shared libraries to be build, of the
> form:
> 
> somedir/libfoo.so: somedir/libbar.so somedir/libbaz.so
> 
> Note that "libfoo.so" has explicitly stated it depends upon
> somedir/libbar.so.
> 
> libbar.so has a similar dependency file that describes its needs:
> 
> somedir/libbar.so: somedir/libbaz.so otherdir/bar.o
> 
> However, if I run a parallel make:
>   make -j4 mytarget
> 
> then make will happly start building everything, and will try to link
> somedir/libfoo.so before even STARTING on linking somedir/libbar.so.

Although this could be a bug, it's more likely, IMO, that your
target/prerequisite requirements are not correctly stated.

For example, it could be that you use slightly different paths so that
make doesn't realize these two libraries are really the same thing, and
the dependencies aren't being propagated properly.

Try running make with the -p option so it prints its internal database.
Are the prerequisites you expect to see for somedir/libfoo.so really
there?

Try running the parallel version with -d (redirect the output because
it's voluminous) and see what make says about trying to build
somedir/libfoo.so: what does it say about the somedir/libbar.so
prerequisite?




reply via email to

[Prev in Thread] Current Thread [Next in Thread]