When starting Eclipse SDK 3.1-r1, I get the following error log: !ENTRY org.eclipse.osgi 2005-10-17 15:14:01.129 !MESSAGE Application error !STACK 1 java.lang.UnsatisfiedLinkError: no swt-pi-gtk-3138 in java.library.path at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1682) at java.lang.Runtime.loadLibrary0(Runtime.java:822) at java.lang.System.loadLibrary(System.java:992) at org.eclipse.swt.internal.Library.loadLibrary(Library.java:123) at org.eclipse.swt.internal.gtk.OS.<clinit>(OS.java:19) at org.eclipse.swt.internal.Converter.wcsToMbcs(Converter.java:63) at org.eclipse.swt.internal.Converter.wcsToMbcs(Converter.java:54) at org.eclipse.swt.widgets.Display.<clinit>(Display.java:122) at org.eclipse.ui.internal.Workbench.createDisplay(Workbench.java:381) at org.eclipse.ui.PlatformUI.createDisplay(PlatformUI.java:155) at org.eclipse.ui.internal.ide.IDEApplication.createDisplay(IDEApplication.java:128) at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:79) at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:226) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:376) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:163) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.eclipse.core.launcher.Main.invokeFramework(Main.java:334) at org.eclipse.core.launcher.Main.basicRun(Main.java:278) at org.eclipse.core.launcher.Main.run(Main.java:973) at org.eclipse.core.launcher.Main.main(Main.java:948) This is because the swt library is not installed. eclipse-sdk-3.1 ebuild needs to be modified so that it depends on "~dev-java/swt-3.1". Note that the dependency cannot be satisfied by dev-java/swt-3.2 because that version of swt uses different shared library names. Add "~dev-java/swt-3.1" to eclipse-sdk-3.1's depend atoms.
Additionally, it looks like /usr/lib needs to be specified in the "java.library.path" JVM system variable. I don't know where in the config that should go, though.
I got it to work by editing /usr/bin/eclipse-3.1 and changing the last line from: ${ECLIPSE_BIN} $@ to: LD_LIBRARY_PATH="/usr/lib" ${ECLIPSE_BIN} $@ But that seems kind of hackish. I think libswt-pi-gtk-3138.so is supposed to be included in one of the JAR files in the /usr/lib/eclipse-3.1/plugins tree, but I don't see it in either of the JARs that have "swt" in their names. Perhaps the Eclipse SDK build process is missing a step needed to get the native libraries included in those JARs.
Eclipse builds and uses its own swt, so something must have wrong during the eclipse build the swt package hasn't been around very long (yes there are possibly plans to split eclipse-sdk up (swt,ecj,..)) do you have a log of it?
I re-emerged (to get a log) and now the libswt-*.so files are in the JAR in /usr/lib/eclipse-3.1/plugins. Go figure.