This is the mail archive of the
java@gcc.gnu.org
mailing list for the Java project.
mingw32 gcj compile failure and possible patch
- From: aking at dreammechanics dot com
- To: java at gcc dot gnu dot org
- Date: Tue, 2 Apr 2002 08:46:08 -0500
- Subject: mingw32 gcj compile failure and possible patch
This is my first attempted patch, so please be gentle :)
Without the attached (timy) patch, I am unable to compile and execute a
simple 'hello world' program with the mingw32 port. Unfortunately, I am
much more of a java coder than a C programmer, so I'm not sure if it's a
correct patch or not.
Here's the gcj output without the patch:
aking@nanostorm:~/gcj-test$ i686-pc-mingw32-gcj --main=HelloWorld -o hello.exe
HelloWorld.java
/home/aking/mingw-gcc/lib/gcc-lib/i686-pc-mingw32/3.1/../../../../i686-pc-mingw32/lib/libgcj.a(win32.o):
In function `Z26_Jv_platform_close_on_execi':
/home/aking/compile/mingw-gcj/bin/i686-pc-mingw32/libjava/include/platform.h:25:
multiple definition of `_Jv_platform_close_on_exec(int)'
/home/aking/mingw-gcc/lib/gcc-lib/i686-pc-mingw32/3.1/../../../../i686-pc-mingw32/lib/libgcj.a(prims.o)(.text+0x0):/home/aking/compile/mingw-gcj/bin/i686-pc-mingw32/libjava/../../../gcc/libjava/prims.cc:
first defined here
/home/aking/mingw-gcc/lib/gcc-lib/i686-pc-mingw32/3.1/../../../../i686-pc-mingw32/lib/libgcj.a(natSystem.o):
In function
`Z34_Jv_GetArrayElementFromElementTypePN4java4lang6ObjectEPNS0_5ClassE':
/home/aking/compile/mingw-gcj/bin/i686-pc-mingw32/libjava/../../../gcc/libjava/gcj/cni.h(.text+0x0):
multiple definition of `_Jv_platform_close_on_exec(int)'
/home/aking/mingw-gcc/lib/gcc-lib/i686-pc-mingw32/3.1/../../../../i686-pc-mingw32/lib/libgcj.a(prims.o)(.text+0x0):/home/aking/compile/mingw-gcj/bin/i686-pc-mingw32/libjava/../../../gcc/libjava/prims.cc:
first defined here
/home/aking/mingw-gcc/lib/gcc-lib/i686-pc-mingw32/3.1/../../../../i686-pc-mingw32/lib/libgcj.a(natPlainSocketImpl.o):
In function `Z26_Jv_platform_close_on_execi':
/home/aking/compile/mingw-gcj/bin/i686-pc-mingw32/libjava/include/platform.h:25:
multiple definition of `_Jv_platform_close_on_exec(int)'
/home/aking/mingw-gcc/lib/gcc-lib/i686-pc-mingw32/3.1/../../../../i686-pc-mingw32/lib/libgcj.a(prims.o)(.text+0x0):/home/aking/compile/mingw-gcj/bin/i686-pc-mingw32/libjava/../../../gcc/libjava/prims.cc:
first defined here
aking@nanostorm:~/gcj-test$
With the patch, the java program compiles and runs fine under Windows ME.
The patch:
*** gcc-3.1-branch/libjava/include/win32.h Sun Mar 10 13:00:04 2002
--- mingw-gcj/gcc/libjava/include/win32.h Mon Apr 1 22:21:36 2002
*************** details. */
*** 21,27 ****
extern void _Jv_platform_initialize (void);
extern jlong _Jv_platform_gettimeofday ();
! void _Jv_platform_close_on_exec (jint)
{
// Ignore.
}
--- 21,27 ----
extern void _Jv_platform_initialize (void);
extern jlong _Jv_platform_gettimeofday ();
! inline void _Jv_platform_close_on_exec (jint)
{
// Ignore.
}