|
View:
New views
5 Messages
—
Rating Filter:
Alert me
|
|
|
Re: libjava broken vs make -j?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 |
|
|
libjava broken vs make -j?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 |
|
|
Re: libjava broken vs make -j?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 |
|
|
Re: libjava broken vs make -j?2009/8/26 David Daney <ddaney@...>:
> 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 |
|
|
Re: libjava broken vs make -j?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 |
| Free embeddable forum powered by Nabble | Forum Help |