Re: libjava broken vs make -j?

Dave Korn <[email protected]>
Newsgroups gmane.comp.gcc.java.devel
Message-ID <[email protected]>
Andrew John Hughes wrote:
> 2009/8/26 David Daney:
>> Dave Korn wrote:
>>>  I just started seeing this, with "make -j4":

>>>> make[3]: Entering directory `/gnu/gcc/obj-java2/i686-pc-cygwin/libjava'
>>>> make[3]: *** No rule to make target `classpath/lib/compile-classes',
>>>> needed by `gcjh.stamp'.  Stop.
>>>> make[3]: Leaving directory `/gnu/gcc/obj-java2/i686-pc-cygwin/libjava'
>>>> make[2]: *** [headers.stamp] Error 2

>>>  There is indeed no rule to make classpath/lib/compile-classes, as it's
>>> generated in a recursive sub-make (which would happen earlier in a
>>> non-parallel build, or at lower -j levels, rather than simultaneously and
>>> racily as here).  Presumably we need to add some dependency at the top
>>> level, perhaps something like this?
>>>
>>> classpath/lib/compile-classes: all-multi
>>>
>> Interesting, I have been doing -j16, -j14, and -j2 builds and have not hit
>> this.

> I also do builds using -j9 and haven't seen such issues, but this is
> on x86_64-pc-linux-gnu rather than cygwin.

  Nah, sorry for the noise.  I definitely went about adding a dependency
wrongly, with the result of dragging half the recursive dependencies up to the
top-level.  I think I want to append to "all-am:", not "all:", and most
probably the simplest way to do that validly is to add the phony stamp file
target to noinst_DATA.

    cheers,
      DaveK
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.