Hi,
Tom Tromey is on vacation now, but just before he left he checked in
some very nice patches to libgcj. The result of these fixes?
-> look at the screenshots: http://www.klomp.org/mark/gij_eclipse/
The above page also contains instructions on how to run Eclipse with gij
(the GNU Interpreter for Java which comes with gcj). Since libgcj is
based on the GNU Classpath libraries this hopefully means that other
free VMs will also soon be able to run Eclipse!
There are still some big showstoppers. You will need to disable the
Garbage Collecter or you will get the attached exception while starting
up. When restarting Eclipse it will fail to reload its own preferences.
And there are some Thread ownership problems, sometimes gij locks up
completely (almost always reproducable by trying to actually run the
Hello World program shown in the above screenshots inside Eclipse. gdb
output also attached, two threads seem to be stuck at the same point
shown in the backtrace). But there is also a lot of things just working.
And it looks very, very nice!
I want to thank Erwin Bolwidt (who spotted the String.getChars() bug)
and Vincent Partington (who helped debug the URLClassLoader bug) this
weekend. And of course all the GNU Classpath and gcj hackers for all
their work the last couple of years to get us this far. Thanks!
Cheers,
Mark
With Garbage Collector enabled you will get the following exception while
starting up:
!SESSION ----------------------------------------------------------------------
!ENTRY org.eclipse.core.launcher 4 0 Dec 22, 2002 16:44:54.530
!MESSAGE Exception launching the Eclipse Platform:
!STACK
java.lang.reflect.InvocationTargetException
at _Jv_CallAnyMethodA(java.lang.Object, java.lang.Class, _Jv_Method, boolean,
java.lang.Class[], jvalue, jvalue) (/usr/local/gcc34/lib/libgcj.so.4.0.0)
at _Jv_CallAnyMethodA(java.lang.Object, java.lang.Class, _Jv_Method, boolean,
java.lang.Class[], java.lang.Object[]) (/usr/local/gcc34/lib/libgcj.so.4.0.0)
at java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[])
(/usr/local/gcc34/lib/libgcj.so.4.0.0)
at org.eclipse.core.launcher.Main.basicRun(java.lang.String[]) (Unknown Source)
at org.eclipse.core.launcher.Main.run(java.lang.String[]) (Unknown Source)
at org.eclipse.core.launcher.Main.main(java.lang.String[]) (Unknown Source)
Caused by: java.lang.NullPointerException
at java.lang.String.getBytes() (/usr/local/gcc34/lib/libgcj.so.4.0.0)
at org.eclipse.core.internal.boot.InternalBootLoader.decode(java.lang.String)
(Unknown Source)
at org.eclipse.core.internal.boot.PlatformConfiguration.getRuntimeImport() (Unknown
Source)
at org.eclipse.core.internal.boot.PlatformConfiguration.locateDefaultPlugins()
(Unknown Source)
at
org.eclipse.core.internal.boot.PlatformConfiguration.PlatformConfiguration(java.lang.String,
java.lang.String, java.net.URL) (Unknown Source)
at org.eclipse.core.internal.boot.PlatformConfiguration.startup(java.lang.String[],
java.net.URL, java.lang.String, java.lang.String) (Unknown Source)
at org.eclipse.core.internal.boot.InternalBootLoader.initialize(java.net.URL,
java.lang.String, java.lang.String[]) (Unknown Source)
at org.eclipse.core.internal.boot.InternalBootLoader.startup(java.net.URL,
java.lang.String, java.lang.String[], java.lang.Runnable) (Unknown Source)
at org.eclipse.core.internal.boot.InternalBootLoader.run(java.lang.String,
java.net.URL, java.lang.String, java.lang.String[], java.lang.Runnable) (Unknown
Source)
at org.eclipse.core.boot.BootLoader.run(java.lang.String, java.net.URL,
java.lang.String, java.lang.String[], java.lang.Runnable) (Unknown Source)
at _Jv_CallAnyMethodA(java.lang.Object, java.lang.Class, _Jv_Method, boolean,
java.lang.Class[], jvalue, jvalue) (/usr/local/gcc34/lib/libgcj.so.4.0.0)
...5 more
To disable the garbage collector do:
export GC_DONT_GC=1
Restarting eclipse will give the following errors and your library/classpath
settings will be
[Fatal Error] :1:15: The value following "version" in the XML declaration must be a
quoted string.
[Fatal Error] :1:15: The value following "version" in the XML declaration must be a
quoted string.
[Fatal Error] :1:15: The value following "version" in the XML declaration must be a
quoted string.
[Fatal Error] :1:1: Content is not allowed in prolog.
While deleting files:
Exception in org.eclipse.ui.actions.DeleteResourceAction.run:
java.lang.IllegalMonitorStateException: current thread not owner
Sometimes the
#0 0x40862ce2 in sigsuspend () from /lib/libc.so.6
#1 0x407e96df in __pthread_wait_for_restart_signal ()
from /lib/libpthread.so.0
#2 0x407e6173 in pthread_cond_wait () from /lib/libpthread.so.0
#3 0x403782b8 in _Jv_CondWait(_Jv_ConditionVariable_t*, _Jv_Mutex_t*, long long, int)
(cv=0x38df8b3c, mu=0x38df8b40, millis=0, nanos=0)
at ../../../gcc/libjava/posix-threads.cc:143
#4 0x4039e0d3 in _Jv_MonitorEnter (obj=0x38cfa150)
at ../../../gcc/libjava/java/lang/natObject.cc:845
#5 0x403997af in java::lang::Class::initializeClass() (this=0x38cfa150)
at ../../../gcc/libjava/java/lang/natClass.cc:742
#6 0x40387b6b in _Jv_ResolvePoolEntry(java::lang::Class*, int) (
klass=0x38cfa230, index=43) at ../../../gcc/libjava/java/lang/Class.h:265
_______________________________________________
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath