compilation problems with ecj.jar
Marco Trudel
mtrudel@gmx.ch
Wed Jan 17 22:02:00 GMT 2007
Tom Tromey wrote:
>>>>>> "Marco" == Marco Trudel <mtrudel@gmx.ch> writes:
>
> Marco> Well, I still don't see why the host of ecj is the configured target
> Marco> instead of the configured host, but I guess I don't need to understand
> Marco> that.
>
> The intent of the code is that the installed be compiled with the
> build-x-host compiler, since ecj1 must run on the host. That conforms
> pretty well to what I see in configure:
>
> GCJ_FOR_ECJX="${with_cross_host}-gcj"
Yes, this is what I would expect. With my host=Linux, target=minGW and
build=Linux, it evaluates to "i686-pc-linux-gnu-gcj". But the ecj
compilation is still somehow broken, the command is:
i686-pc-linux-gnu-gcj -o ecjx.exe -findirect-dispatch
--main=org.eclipse.jdt.internal.compiler.batch.GCCMain
/usr/local/src/gcc/libjava/.././libjava/../ecj.jar
Either a wrong gcj is choosen or the output should be named "ecj"
instead of "ecj.exe". Furthermore, the compilation fails:
make[3]: Entering directory
`/home/Marco/Desktop/compile-lin-win/gcc-build/i686-pc-mingw32/libjava'
i686-pc-linux-gnu-gcj -o ecjx.exe -findirect-dispatch
--main=org.eclipse.jdt.internal.compiler.batch.GCCMain
/usr/local/src/gcc/libjava/.././libjava/../ecj.jar
/tmp/cctTUn55.o: In function `main':ccEdPOIF.i:(.text+0x30): undefined
reference to `JvRunMainName'
/tmp/ccqt0wW6.o: In function `void
org::eclipse::jdt::internal::compiler::classfmt::ClassFormatException::printStackTrace(java::io::PrintStream*)':ecj.jar:(.text+0x155dfc):
undefined reference to `_Jv_MonitorExit'
:ecj.jar:(.text+0x155e4c): undefined reference to `_Jv_MonitorExit'
/tmp/ccqt0wW6.o: In function `void
org::eclipse::jdt::internal::compiler::classfmt::ClassFormatException::printStackTrace(java::io::PrintWriter*)':ecj.jar:(.text+0x1561ec):
undefined reference to `_Jv_MonitorExit'
:ecj.jar:(.text+0x15623c): undefined reference to `_Jv_MonitorExit'
/tmp/ccqt0wW6.o: In function `java::lang::Object*
org::eclipse::jdt::internal::compiler::util::Messages$MessagesProperties::put(java::lang::Object*,
java::lang::Object*)':ecj.jar:(.text+0x6643cd): undefined reference to
`_Jv_MonitorExit'
/tmp/ccqt0wW6.o:ecj.jar:(.text+0x6643ec): more undefined references to
`_Jv_MonitorExit' follow
/tmp/ccqt0wW6.o: In function `global constructors keyed to
0__ZN3org7eclipse3jdt4core8compiler13CharOperation18__U3c_clinit__U3e_EJvv':ecj.jar:(.text+0x803e80):
undefined reference to `_Jv_RegisterResource'
:ecj.jar:(.text+0x803e8c): undefined reference to `_Jv_RegisterResource'
:ecj.jar:(.text+0x803e98): undefined reference to `_Jv_RegisterResource'
:ecj.jar:(.text+0x803ea4): undefined reference to `_Jv_RegisterResource'
:ecj.jar:(.text+0x803eb0): undefined reference to `_Jv_RegisterResource'
/tmp/ccqt0wW6.o:ecj.jar:(.text+0x803ebc): more undefined references to
`_Jv_RegisterResource' follow
collect2: ld returned 1 exit status
make[3]: *** [ecjx.exe] Error 1
make[3]: Leaving directory
`/home/Marco/Desktop/compile-lin-win/gcc-build/i686-pc-mingw32/libjava'
thanks
Marco
> What value do you get for this?
>
> Tom
>
More information about the Java
mailing list