Re: libjava broken vs make -j?
Andrew John Hughes <[email protected]>
| Newsgroups | gmane.comp.gcc.java.devel |
|---|---|
| Message-ID | <[email protected]> |
2009/8/26 David Daney <[email protected]>: > 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