This is the mail archive of the java@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Running Eclipse 3


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]