public inbox for java@gcc.gnu.org
 help / color / mirror / Atom feed
* libjava broken vs make -j?
@ 2009-08-26 21:41 Dave Korn
  2009-08-26 21:50 ` David Daney
  0 siblings, 1 reply; 5+ messages in thread
From: Dave Korn @ 2009-08-26 21:41 UTC (permalink / raw)
  To: java


  I just started seeing this, with "make -j4":

> make[4]: Leaving directory `/gnu/gcc/obj-java2/i686-pc-cygwin/boehm-gc'
> make[3]: Leaving directory `/gnu/gcc/obj-java2/i686-pc-cygwin/boehm-gc'
> make[2]: Leaving directory `/gnu/gcc/obj-java2/i686-pc-cygwin/boehm-gc'
> make[2]: Entering directory `/gnu/gcc/obj-java2/i686-pc-cygwin/libjava'
> : make ; exec make "AR_FLAGS=rc" "CC_FOR_BUILD=gcc-4" "CFLAGS=-g -O2" "CXXFLAGS=-g -O2" "CPPFLAGS=" "CFLAGS_FOR_BUILD=-g -O2" "CFLAGS_FOR_TARGET=-g -O2" "INSTALL=/usr/bin/install -c" "INSTALL_DATA=/usr/bin/install -c -m 644" "INSTALL_PROGRAM=/usr/bin/install -c" "INSTALL_SCRIPT=/usr/bin/install -c" "GCJFLAGS=-g -O2" "LDFLAGS=" "LIBCFLAGS=-g -O2" "LIBCFLAGS_FOR_TARGET=-g -O2" "MAKE=make" "MAKEINFO=makeinfo --split-size=5000000 --split-size=5000000 " "PICFLAG=" "PICFLAG_FOR_TARGET=" "SHELL=/bin/sh" "RUNTESTFLAGS=" "exec_prefix=/opt/gcc-tools" "datadir=/opt/gcc-tools/share" "infodir=/opt/gcc-tools/share/info" "libdir=/opt/gcc-tools/lib" "mandir=/opt/gcc-tools/share/man" "prefix=/opt/gcc-tools" "gxx_include_dir=/opt/gcc-tools/lib/gcc/i686-pc-cygwin/4.5.0/include/c++" "AR=/opt/gcc-tools/i686-pc-cygwin/bin/ar" "AS=/gnu/gcc/obj-java2/./gcc/as" "LD=/gnu/gcc/obj-java2/./gcc/collect-ld" "LIBCFLAGS=-g -O2" "NM=/gnu/gcc/obj-java2/./gcc/nm" "PICFLAG=" "RANLIB=/opt/gcc-tools/i686-pc-cyg
win/bin/ranlib" "DESTDIR=" "JAR=/gnu/gcc/obj-java2/i686-pc-cygwin/libjava/scripts/jar" DO=all multi-do
> make create-headers
> 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
> make[2]: *** Waiting for unfinished jobs....
> make[3]: Entering directory `/gnu/gcc/obj-java2/i686-pc-cygwin/libjava'

  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

    cheers,
      DaveK


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: libjava broken vs make -j?
  2009-08-26 21:41 libjava broken vs make -j? Dave Korn
@ 2009-08-26 21:50 ` David Daney
  2009-08-26 21:55   ` Dave Korn
  2009-08-26 23:03   ` Andrew John Hughes
  0 siblings, 2 replies; 5+ messages in thread
From: David Daney @ 2009-08-26 21:50 UTC (permalink / raw)
  To: Dave Korn; +Cc: java

Dave Korn wrote:
>   I just started seeing this, with "make -j4":
> 
>> make[4]: Leaving directory `/gnu/gcc/obj-java2/i686-pc-cygwin/boehm-gc'
>> make[3]: Leaving directory `/gnu/gcc/obj-java2/i686-pc-cygwin/boehm-gc'
>> make[2]: Leaving directory `/gnu/gcc/obj-java2/i686-pc-cygwin/boehm-gc'
>> make[2]: Entering directory `/gnu/gcc/obj-java2/i686-pc-cygwin/libjava'
>> : make ; exec make "AR_FLAGS=rc" "CC_FOR_BUILD=gcc-4" "CFLAGS=-g -O2" "CXXFLAGS=-g -O2" "CPPFLAGS=" "CFLAGS_FOR_BUILD=-g -O2" "CFLAGS_FOR_TARGET=-g -O2" "INSTALL=/usr/bin/install -c" "INSTALL_DATA=/usr/bin/install -c -m 644" "INSTALL_PROGRAM=/usr/bin/install -c" "INSTALL_SCRIPT=/usr/bin/install -c" "GCJFLAGS=-g -O2" "LDFLAGS=" "LIBCFLAGS=-g -O2" "LIBCFLAGS_FOR_TARGET=-g -O2" "MAKE=make" "MAKEINFO=makeinfo --split-size=5000000 --split-size=5000000 " "PICFLAG=" "PICFLAG_FOR_TARGET=" "SHELL=/bin/sh" "RUNTESTFLAGS=" "exec_prefix=/opt/gcc-tools" "datadir=/opt/gcc-tools/share" "infodir=/opt/gcc-tools/share/info" "libdir=/opt/gcc-tools/lib" "mandir=/opt/gcc-tools/share/man" "prefix=/opt/gcc-tools" "gxx_include_dir=/opt/gcc-tools/lib/gcc/i686-pc-cygwin/4.5.0/include/c++" "AR=/opt/gcc-tools/i686-pc-cygwin/bin/ar" "AS=/gnu/gcc/obj-java2/./gcc/as" "LD=/gnu/gcc/obj-java2/./gcc/collect-ld" "LIBCFLAGS=-g -O2" "NM=/gnu/gcc/obj-java2/./gcc/nm" "PICFLAG=" "RANLIB=/opt/gcc-tools/i686-pc-cyg

> win/bin/ranlib" "DESTDIR=" "JAR=/gnu/gcc/obj-java2/i686-pc-cygwin/libjava/scripts/jar" DO=all multi-do
>> make create-headers
>> 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
>> make[2]: *** Waiting for unfinished jobs....
>> make[3]: Entering directory `/gnu/gcc/obj-java2/i686-pc-cygwin/libjava'
> 
>   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.

David Daney

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: libjava broken vs make -j?
  2009-08-26 21:50 ` David Daney
@ 2009-08-26 21:55   ` Dave Korn
  2009-08-26 23:03   ` Andrew John Hughes
  1 sibling, 0 replies; 5+ messages in thread
From: Dave Korn @ 2009-08-26 21:55 UTC (permalink / raw)
  To: David Daney; +Cc: Dave Korn, java

David Daney wrote:

> 
> Interesting, I have been doing -j16, -j14, and -j2 builds and have not
> hit this.

  Hm.  Maybe I've broken something with a local modification.  I'll try it
from a clean tree and see if it happens there.  Maybe I messed it up by adding
a dependency to the top-level "all:".  Thanks for the all-clear report.

    cheers,
      DaveK





^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: libjava broken vs make -j?
  2009-08-26 21:50 ` David Daney
  2009-08-26 21:55   ` Dave Korn
@ 2009-08-26 23:03   ` Andrew John Hughes
  2009-08-27  1:22     ` Dave Korn
  1 sibling, 1 reply; 5+ messages in thread
From: Andrew John Hughes @ 2009-08-26 23:03 UTC (permalink / raw)
  To: David Daney; +Cc: Dave Korn, java

2009/8/26 David Daney <ddaney@caviumnetworks.com>:
> Dave Korn wrote:
>>
>>  I just started seeing this, with "make -j4":
>>
>>> make[4]: Leaving directory `/gnu/gcc/obj-java2/i686-pc-cygwin/boehm-gc'
>>> make[3]: Leaving directory `/gnu/gcc/obj-java2/i686-pc-cygwin/boehm-gc'
>>> make[2]: Leaving directory `/gnu/gcc/obj-java2/i686-pc-cygwin/boehm-gc'
>>> make[2]: Entering directory `/gnu/gcc/obj-java2/i686-pc-cygwin/libjava'
>>> : make ; exec make "AR_FLAGS=rc" "CC_FOR_BUILD=gcc-4" "CFLAGS=-g -O2"
>>> "CXXFLAGS=-g -O2" "CPPFLAGS=" "CFLAGS_FOR_BUILD=-g -O2"
>>> "CFLAGS_FOR_TARGET=-g -O2" "INSTALL=/usr/bin/install -c"
>>> "INSTALL_DATA=/usr/bin/install -c -m 644" "INSTALL_PROGRAM=/usr/bin/install
>>> -c" "INSTALL_SCRIPT=/usr/bin/install -c" "GCJFLAGS=-g -O2" "LDFLAGS="
>>> "LIBCFLAGS=-g -O2" "LIBCFLAGS_FOR_TARGET=-g -O2" "MAKE=make"
>>> "MAKEINFO=makeinfo --split-size=5000000 --split-size=5000000 " "PICFLAG="
>>> "PICFLAG_FOR_TARGET=" "SHELL=/bin/sh" "RUNTESTFLAGS="
>>> "exec_prefix=/opt/gcc-tools" "datadir=/opt/gcc-tools/share"
>>> "infodir=/opt/gcc-tools/share/info" "libdir=/opt/gcc-tools/lib"
>>> "mandir=/opt/gcc-tools/share/man" "prefix=/opt/gcc-tools"
>>> "gxx_include_dir=/opt/gcc-tools/lib/gcc/i686-pc-cygwin/4.5.0/include/c++"
>>> "AR=/opt/gcc-tools/i686-pc-cygwin/bin/ar" "AS=/gnu/gcc/obj-java2/./gcc/as"
>>> "LD=/gnu/gcc/obj-java2/./gcc/collect-ld" "LIBCFLAGS=-g -O2"
>>> "NM=/gnu/gcc/obj-java2/./gcc/nm" "PICFLAG="
>>> "RANLIB=/opt/gcc-tools/i686-pc-cyg
>
>> win/bin/ranlib" "DESTDIR="
>> "JAR=/gnu/gcc/obj-java2/i686-pc-cygwin/libjava/scripts/jar" DO=all multi-do
>>>
>>> make create-headers
>>> 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
>>> make[2]: *** Waiting for unfinished jobs....
>>> make[3]: Entering directory `/gnu/gcc/obj-java2/i686-pc-cygwin/libjava'
>>
>>  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.
>
> David Daney
>

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

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and the OpenJDK
http://www.gnu.org/software/classpath
http://openjdk.java.net

PGP Key: 94EFD9D8 (http://subkeys.pgp.net)
Fingerprint: F8EF F1EA 401E 2E60 15FA  7927 142C 2591 94EF D9D8

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: libjava broken vs make -j?
  2009-08-26 23:03   ` Andrew John Hughes
@ 2009-08-27  1:22     ` Dave Korn
  0 siblings, 0 replies; 5+ messages in thread
From: Dave Korn @ 2009-08-27  1:22 UTC (permalink / raw)
  To: Andrew John Hughes; +Cc: David Daney, Dave Korn, java

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2009-08-27  1:22 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-08-26 21:41 libjava broken vs make -j? Dave Korn
2009-08-26 21:50 ` David Daney
2009-08-26 21:55   ` Dave Korn
2009-08-26 23:03   ` Andrew John Hughes
2009-08-27  1:22     ` Dave Korn

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).