Further Update:
(I will persist, in the face of a deafening silence so far, in case anyone
else is struggling with this, or similar problems)
The failure of the libgcj.a build does not seem to be caused by the long
command line, but by the occurrence of replicated object file names in the
various java library directories.
In particular, the following 31 pairs of duplicate file names were found
(paths relative to the /javalib directory):
java/util/AbstractSet.o javax/swing/AbstractSet.o
java/util/zip/Adler32.o .libs/libgcj.lax/libzgcj_convenience.a/adler32.o
java/lang/reflect/Array.o java/sql/Array.o
javax/naming/directory/Attribute.o javax/print/attribute/Attribute.o
java/util/jar/Attributes.o javax/naming/directory/Attributes.o
javax/swing/text/AttributeSet.o javax/print/attribute/AttributeSet.o
java/util/Calendar.o gnu/java/locale/Calendar.o
java/security/Certificate.o java/security/cert/Certificate.o
java/text/CharacterIterator.o javax/swing/text/CharacterIterator.o
java/lang/Compiler.o gnu/java/rmi/rmic/Compiler.o
java/net/ConnectException.o java/rmi/ConnectException.o
java/util/zip/CRC32.o .libs/libgcj.lax/libzgcj_convenience.a/crc32.o
java/util/Date.o java/sql/Date.o
gnu/java/security/provider/DSAKeyPairGenerator.o
java/security/interfaces/DSAKeyPairGenerator.o
exception.o java/lang/Exception.o
java/io/FileFilter.o javax/swing/filechooser/FileFilter.o
java/util/List.o java/awt/List.o
gnu/gcj/runtime/natStringBuffer.o java/lang/natStringBuffer.o
java/security/Permission.o java/security/acl/Permission.o
gnu/java/nio/charset/Provider.o java/security/Provider.o
java/lang/ref/Reference.o javax/naming/Reference.o
java/lang/StringBuffer.o gnu/gcj/runtime/StringBuffer.o
javax/rmi/CORBA/SystemException.o javax/transaction/SystemException.o
java/util/Timer.o javax/swing/Timer.o
java/sql/Types.o .libs/libgcj.lax/libffi_convenience.a/types.o
java/net/UnknownHostException.o java/rmi/UnknownHostException.o
java/lang/VMClassLoader.o gnu/gcj/runtime/VMClassLoader.o
win32.o .libs/libgcj.lax/libffi_convenience.a/win32.o
gnu/java/security/x509/X509Certificate.o
java/security/cert/X509Certificate.o
gnu/java/security/x509/X509CRL.o java/security/cert/X509CRL.o
gnu/java/security/x509/X509CRLEntry.o java/security/cert/X509CRLEntry.o
Short of changing the file names of one file in each of the above pairs, is
there any other way to build libgcj.a from these object files?
Fred (I.C.) Vanner
Systems Engineer
Thales (Wells, UK)
Tel: (+44) 1749 682581
-----Original Message-----
From: Vanner, Fred [mailto:Fred.Vanner@...]
Sent: 03 September 2004 12:46
To: mingw-users@...
Subject: RE: [Mingw-users] To build gcj for mingw32
Problem update (in case anyone else is struggling in the same area!):
I have downloaded unxutils (unxutils.sourceforge.net), and (with a little
trouble with directory for bison.simple - the unxutil.exe uses Windows
paths, and ignores MSYS paths) got bison and flex working under MSYS.
I should have noted before that I modified the downloaded build script to
run ../configure (not ../gcc/configure), to rebuild the whole lot.
My (attempt 1) build now runs for ~4 hours before failing.
It fails in the libgcj.a archive build (make target "libgcj.la"): this puts
almost 2000 *.o files on a single command line (65000+ characters, with the
full path names in my directory structure).
The "ar rc" command fails with "invalid argument" / Error 126.
The libtools script includes a max command line length of 393217 (calculated
in ltconfig), which would seem to be enough.
Can anyone suggest any other parameters/limits that might cause this problem
(and, ideally, how to get round them!).
Fred (I.C.) Vanner
Systems Engineer
Thales (Wells, UK)
Tel: (+44) 1749 682581
-----Original Message-----
From: Vanner, Fred [mailto:Fred.Vanner@...]
Sent: 01 September 2004 16:50
To: mingw-users@...
Subject: [Mingw-users] To build gcj for mingw32
Task: build an ix86-Windows-targetted gcj (java) compiler linked to the
mingw32 run-time libraries.
(Why? because I want open source version with some non-standard options - eg
--disable-interpreter)
I am a windows programmer with very little UNIX experience. I want to USE
the compiler for Java code development - building it was supposed to be the
easy bit; so far (after nearly three weeks struggle), I have not yet
succeeded.
Attempt 1:
download and install MinGW and MSYS (current version) - now I have a minimal
build environment(?)
download the required sources (3.4.1 versions): gcc-core; gcc-g++; gcc-java;
unpack under /gcc-3.4.1
download the build script (gcc-3.4.1-build.sh). Where do I put it? Internal
evidence suggests in a build directory under the top source directory, so
put it in:
/gcc-3.4.1/build
edit script to select only java (I'll worry about the other flags once I've
got a basic rebuid working!)
(msys shell, in build directory:) ./gcc-3.4.1-build.sh
*** fails: no bison, no flex
download bison-1.875 from FSF site; unzip; ./configure; make
*** fails: in subpipe.c, can't resolve refs to "pipe"; "fork"
download flex-2.5.4a from FSF site; unzip; ./configure; make
*** fails: can't find "yacc" command (presumably because bison is not
installed!)
getting out of my depth, so...
Attempt 2:
download and install cygwin, selecting components according to John Murga's
excellent (but now obsolete) procedure
(see: gcc.gnu.org/ml/java/2003-01/msg00299.html)
follow FAQ advice re inserting mingw32 binaries in cygwin search path
(mounted mingw root as /mingw; modified cywin's /etc/profile to prepend
/mingw/bin to PATH)
under cywin shell, return to my build directory, and try the script again.
*** fails: can't find standard headers (stdio.h; sys/types.h; errno.h;
string.h; stdlib.h; unistd.h).
Mingw has its own versions of these (in /include above the mingw root),
which I assume are required.
I don't DARE meddle with the configure script (4500+ lines of inscrutible
text substitutions) or the makefile (24,000+ lines of the same!), so try:
copy the mingw/include files into the /include directory under the build
source directory (ie /gcc-3.4.1/include)
(of course, this may mess up some implicit search order, but I'm getting
desperate!)
try the build script again!
*** fails: "c:\mingw32\bin\ld.exe: cannot open crt2.o: no such file or
directory" (following stage1/xgcc.exe .... -o genmodes.exe ...)
crt2.o IS there (in /mingw32/lib) but is presumably not on an accessable
search path.
I now feel I'm just digging myself in deeper! There MUST(?) be a better way.
Any ideas? HELP!
(I note that the response from <akovalev> to the thread <I have a problem
when compile gcc 3.4.1> mentions patches that may fix the bison and flex
build problems in mingw. If anyone could publish appropriate patches I could
try to proceed with attempt 1).
Fred (I.C.) Vanner
Systems Engineer
Thales (Wells, UK)
Tel: (+44) 1749 682581
Thales Defence (Wells) DISCLAIMER: The information in this message is
confidential and may be legally privileged. It is intended solely for the
addressee. Access to this message by anyone else is unauthorised. If you
are not the intended recipient, any disclosure, copying, or distribution of
the message, or any action or omission taken by you in reliance on it, is
prohibited and may be unlawful. Please immediately contact the sender if
you have received this message in error. Thank you.
-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click
_______________________________________________
MinGW-users mailing list
MinGW-users@...
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users
Thales Defence (Wells) DISCLAIMER: The information in this message is
confidential and may be legally privileged. It is intended solely for the
addressee. Access to this message by anyone else is unauthorised. If you
are not the intended recipient, any disclosure, copying, or distribution of
the message, or any action or omission taken by you in reliance on it, is
prohibited and may be unlawful. Please immediately contact the sender if
you have received this message in error. Thank you.
-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click
_______________________________________________
MinGW-users mailing list
MinGW-users@...
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users
Thales Defence (Wells) DISCLAIMER: The information in this message is
confidential and may be legally privileged. It is intended solely for the
addressee. Access to this message by anyone else is unauthorised. If you
are not the intended recipient, any disclosure, copying, or distribution of
the message, or any action or omission taken by you in reliance on it, is
prohibited and may be unlawful. Please immediately contact the sender if
you have received this message in error. Thank you.
|