As of Wed Mar 30 00:24:21 UTC 2005, I got /bin/sh ./libtool --mode=compile /export/build/gnu/gcc/build-i686-linux/./gcc/gcj -B/export/build/gnu/gcc/build-i686-linux/./gcc/ -B/usr/gcc-4.1/i686-pc-linux-gnu/bin/ -B/usr/gcc-4.1/i686-pc-linux-gnu/lib/ -isystem /usr/gcc-4.1/i686-pc-linux-gnu/include -isystem /usr/gcc-4.1/i686-pc-linux-gnu/sys-include -ffloat-store -fno-omit-frame-pointer -fclasspath= -fbootclasspath=/export/build/gnu/gcc/build-i686-linux/i686-pc-linux-gnu/libjava':'/net/gnu/export/gnu/src/gcc/gcc/libjava':'/net/gnu/export/gnu/src/gcc/gcc/libjava/external/w3c_dom':'/net/gnu/export/gnu/src/gcc/gcc/libjava/external/sax --encoding=UTF-8 -Wno-deprecated -g -O2 -findirect-dispatch -c -o javax-imageio.lo \ `find javax/imageio -name '*.class' -print` /export/build/gnu/gcc/build-i686-linux/./gcc/gcj -B/export/build/gnu/gcc/build-i686-linux/./gcc/ -B/usr/gcc-4.1/i686-pc-linux-gnu/bin/ -B/usr/gcc-4.1/i686-pc-linux-gnu/lib/ -isystem /usr/gcc-4.1/i686-pc-linux-gnu/include -isystem /usr/gcc-4.1/i686-pc-linux-gnu/sys-include -ffloat-store -fno-omit-frame-pointer -fclasspath= -fbootclasspath=/export/build/gnu/gcc/build-i686-linux/i686-pc-linux-gnu/libjava:/net/gnu/export/gnu/src/gcc/gcc/libjava:/net/gnu/export/gnu/src/gcc/gcc/libjava/external/w3c_dom:/net/gnu/export/gnu/src/gcc/gcc/libjava/external/sax --encoding=UTF-8 -Wno-deprecated -g -O2 -findirect-dispatch -c javax/imageio/metadata/IIOMetadataFormat.class javax/imageio/metadata/IIOMetadataController.class javax/imageio/metadata/IIONodeList.class javax/imageio/metadata/IIOInvalidTreeException.class javax/imageio/metadata/IIOMetadataFormatImpl.class javax/imageio/metadata/IIOAttr.class javax/imageio/metadata/IIONamedNodeMap.class javax/imageio/metadata/IIOMetadataNode.class javax/imageio/metadata/IIOMetadata.class javax/imageio/IIOImage.class javax/imageio/ImageWriter.class javax/imageio/stream/IIOByteBuffer.class javax/imageio/stream/ImageOutputStream.class javax/imageio/stream/FileImageInputStream.class javax/imageio/stream/MemoryCacheImageInputStream.class javax/imageio/stream/FileCacheImageOutputStream.class javax/imageio/stream/ImageInputStream.class javax/imageio/stream/MemoryCacheImageOutputStream.class javax/imageio/stream/ImageInputStreamImpl.class javax/imageio/stream/ImageOutputStreamImpl.class javax/imageio/stream/FileImageOutputStream.class javax/imageio/stream/FileCacheImageInputStream.class javax/imageio/ImageReadParam.class javax/imageio/ImageTranscoder.class javax/imageio/ImageWriteParam.class javax/imageio/ImageReader.class javax/imageio/IIOParamController.class javax/imageio/ImageIO\$WriterFormatFilter.class javax/imageio/ImageIO\$ImageWriterIterator.class javax/imageio/ImageIO\$ReaderFormatFilter.class javax/imageio/ImageIO\$ReaderSuffixFilter.class javax/imageio/ImageIO.class javax/imageio/ImageTypeSpecifier.class javax/imageio/ImageIO\$ReaderMIMETypeFilter.class javax/imageio/ImageIO\$ImageReaderIterator.class javax/imageio/IIOParam.class javax/imageio/ImageIO\$WriterMIMETypeFilter.class javax/imageio/ImageIO\$WriterSuffixFilter.class javax/imageio/event/IIOWriteWarningListener.class javax/imageio/event/IIOReadUpdateListener.class javax/imageio/event/IIOReadProgressListener.class javax/imageio/event/IIOReadWarningListener.class javax/imageio/event/IIOWriteProgressListener.class javax/imageio/IIOException.class javax/imageio/spi/ImageReaderWriterSpi.class javax/imageio/spi/ImageOutputStreamSpi.class javax/imageio/spi/ImageInputStreamSpi.class javax/imageio/spi/ServiceRegistry\$2.class javax/imageio/spi/ServiceRegistry\$Filter.class javax/imageio/spi/ImageTranscoderSpi.class javax/imageio/spi/IIORegistry.class javax/imageio/spi/ImageWriterSpi.class javax/imageio/spi/RegisterableService.class javax/imageio/spi/ImageReaderSpi.class javax/imageio/spi/ServiceRegistry.class javax/imageio/spi/IIOServiceProvider.class javax/imageio/spi/ServiceRegistry$1.class -fPIC -o .libs/javax-imageio.o javax/imageio/spi/IIOServiceProvider.java:0: fatal error: can't open javax/imageio/spi/ServiceRegistry-B/export/build/gnu/gcc/build-i686-linux/./gcc/.class: No such file or directory It looks like libtool failed to add `\' before $ for javax/imageio/spi/ServiceRegistry$1.class.
Why does this work for me and other people on i686-pc-linux-gnu? http://gcc.gnu.org/ml/gcc-testresults/2005-03/msg02051.html
It is a libtool bug, which depends on the order of the output from "find -name '*.class" -print". On my Linux/i686: [hjl@gnu-10 libjava]$ pwd /export/build/gnu/gcc/build-i686-linux/i686-pc-linux-gnu/libjava [hjl@gnu-10 libjava]$ find javax/imageio -name '*.class' -print ... javax/imageio/spi/ServiceRegistry$1.class [hjl@gnu-10 libjava]$ On my Linux/ia64: [hjl@gnu-4 libjava]$ pwd /export/build/gnu/gcc/build-ia64-linux/ia64-unknown-linux-gnu/libjava [hjl@gnu-4 libjava]$ find javax/imageio -name '*.class' -print ... javax/imageio/ImageIO$ReaderFormatFilter.class [hjl@gnu-4 libjava]$ On my Linux/x86_64: [hjl@gnu-64 libjava]$ pwd /export/build/gnu/gcc/build-x86_64-linux/x86_64-unknown-linux-gnu/libjava [hjl@gnu-64 libjava]$ find javax/imageio -name '*.class' -print ... javax/imageio/ImageIO$ReaderFormatFilter.class [hjl@gnu-64 libjava]$ For some reason, libtool failed to add a `/' before `$' for the last one on the list.
A patch is posted at http://gcc.gnu.org/ml/gcc-patches/2005-03/msg02792.html
It is getting worse. Both libtool and java testsuite try to outsmart each other. Each tries to put `\' in front `$' for file name.
Another patch is needed to fully fix the bug: http://gcc.gnu.org/ml/gcc-patches/2005-04/msg00787.html BTW, special charactor isn't supported by libtool: http://lists.gnu.org/archive/html/bug-libtool/2005-04/msg00015.html
It also happened to gcc 4.0 on a P4 HT machine with "make -j4 bootstrap".
I'm seeing this same problem. GCC4 won't build reliably without this fix.
Subject: Bug 20693 CVSROOT: /cvs/gcc Module name: gcc Branch: gcc-4_0-branch Changes by: green@gcc.gnu.org 2005-04-17 06:51:12 Modified files: libjava : ChangeLog Makefile.am Makefile.in Log message: 2005-04-16 Anthony Green <green@redhat.com> * Makefile.am (gnu-xml.lo, javax-imageio.lo, javax-xml.lo, gnu-java-beans.lo, gtk-awt-peer.lo) : Sort the output of all "find" output in order to work around the libtool bug described in PR libgcj/20693. * Makefile.in: Rebuilt. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.3391.2.50&r2=1.3391.2.51 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/Makefile.am.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.455.2.11&r2=1.455.2.12 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/Makefile.in.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.485.2.11&r2=1.485.2.12
*** This bug has been marked as a duplicate of 21058 ***