Bug 20693 - [4.1 Regression] javax-imageio.lo failed to build
Summary: [4.1 Regression] javax-imageio.lo failed to build
Status: RESOLVED DUPLICATE of bug 21058
Alias: None
Product: gcc
Classification: Unclassified
Component: libgcj (show other bugs)
Version: 4.0.0
: P2 normal
Target Milestone: 4.1.0
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-03-30 17:57 UTC by H.J. Lu
Modified: 2005-05-06 03:21 UTC (History)
4 users (show)

See Also:
Host: i686-pc-linux-gnu
Target: i686-pc-linux-gnu
Build: i686-pc-linux-gnu
Known to work:
Known to fail:
Last reconfirmed: 2005-03-30 20:26:24


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description H.J. Lu 2005-03-30 17:57:15 UTC
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.
Comment 1 Andrew Pinski 2005-03-30 18:57:41 UTC
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
Comment 2 H.J. Lu 2005-03-30 20:06:33 UTC
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.
Comment 3 H.J. Lu 2005-03-30 20:26:24 UTC
A patch is posted at

http://gcc.gnu.org/ml/gcc-patches/2005-03/msg02792.html
Comment 4 H.J. Lu 2005-04-02 00:28:26 UTC
It is getting worse. Both libtool and java testsuite try to outsmart
each other. Each tries to put `\' in front `$' for file name.
Comment 5 H.J. Lu 2005-04-07 17:39:12 UTC
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
Comment 6 H.J. Lu 2005-04-11 18:14:26 UTC
It also happened to gcc 4.0 on a P4 HT machine with "make -j4 bootstrap".
Comment 7 Anthony Green 2005-04-17 00:42:59 UTC
I'm seeing this same problem.  GCC4 won't build reliably without this fix.
Comment 8 GCC Commits 2005-04-17 06:51:19 UTC
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

Comment 9 Anthony Green 2005-05-06 03:21:05 UTC

*** This bug has been marked as a duplicate of 21058 ***