This is the mail archive of the
java@gcc.gnu.org
mailing list for the Java project.
Running Eclipse 3
- From: Tom Tromey <tromey at redhat dot com>
- To: GCJ Hackers <java at gcc dot gnu dot org>
- Date: 27 Oct 2004 14:27:11 -0600
- Subject: Running Eclipse 3
- Reply-to: tromey at redhat dot com
I thought I'd send a note about how to run Eclipse 3 on gij in case
anybody else is interested in trying it out. My personal goal is to
have it running out of the box on GCC 4.0; I'm actively fixing bugs to
this end, so if you do try it, feel free to file problems in gcc
bugzilla.
I've been using the BC branch to do my testing. Most of the needed
library fixes are also on the trunk, but I can't really vouch for it
as I haven't done any testing there.
You need java.xml and its dependencies in order for this to work.
I've been using xalan; I've heard that GNU JAXP has a bug that
prevents it from working, but I haven't actually tried it. I've built
rhug using the BC compiler, but you could probably just install xalan
from jpackage.org and run it interpreted.
Here's the script I've been using to launch eclipse:
RHUG=/home/tromey/gnu/rhug/BC/install
export LD_LIBRARY_PATH=$(cd $RHUG/lib && pwd):$LD_LIBRARY_PATH
LD_PRELOAD=$RHUG/lib/lib-org-apache-xalan.so \
GCJ_PROPERTIES="java.version=1.4.2_05" \
./eclipse -vm gij -debug -vmargs \
-Dorg.eclipse.core.runtime.ignoreLockFile=true \
-Dosgi.locking=none \
-Dgnu.gcj.runtime.VMClassLoader.library_control=never
Thanks to Anthony for most of this, especially the tricky bits.
A few notes on this:
* I preload xalan since I want to run gij with library_control=never;
I wanted to do that to avoid picking up random .so's that wouldn't
work.
* Apparently java.nio locking isn't yet implemented in libgcj.
Depending on the Eclipse 3 download (it changed before the final
release I think) there are different properties to set to disable
its use of this. The script just sets them both.
Overall the performance running purely interpreted isn't as awful as
one might expect. I haven't done any real development using this
though -- just checked out Classpath and let the JDT build it.
We should probably change our java.version directly in libgcj. Some
applications just look for a "1.4" substring. I haven't looked yet to
see what Eclipse wants.
I'm tempted to set the nio locking properties in libgcj, too, but
that would be wrong :-)
Tom