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