* 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).