Search code examples
javaeclipseubuntuunsatisfiedlinkerror

Eclipse (ZIP distro) SWT link error


Eclipse seems to be unable to start an embedded browser.

The anwser in Eclipse cannot load SWT libraries won't help, as I don't even have a /usr/lib/jni folder.

I have a Eclipse 4.3 installed from a standalone ZIP file. It's running on a Oracle Java 1.6.0_39 installed via the standalone (.bin) installer. The system is Kubuntu 10.04.

Also sudo find /usr/lib/ -name "swt*" returns no results.

I guess I'm probbably missing some swt libraries, but I'm not sure which.

Here is the eclipse error:

org.eclipse.swt.SWTError: No more handles [MOZILLA_FIVE_HOME='/usr/lib/mozilla'] (java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons: 
    /home/jbochenski/opt/eclipse/configuration/org.eclipse.osgi/bundles/664/1/.cp/libswt-mozilla-gtk-4333.so: libxpcom.so: cannot open shared object file: No such file or directory
    no swt-mozilla-gtk in java.library.path
    /home/jbochenski/.swt/lib/linux/x86_64/libswt-mozilla-gtk-4333.so: libxpcom.so: cannot open shared object file: No such file or directory
    Can't load library: /home/jbochenski/.swt/lib/linux/x86_64/libswt-mozilla-gtk.so
)
    at org.eclipse.swt.SWT.error(SWT.java:4423)
    at org.eclipse.swt.browser.Mozilla.initMozilla(Mozilla.java:2024)
    at org.eclipse.swt.browser.Mozilla.create(Mozilla.java:701)
    at org.eclipse.swt.browser.Browser.<init>(Browser.java:99)
    at org.eclipse.jst.common.project.facet.ui.libprov.user.internal.DownloadLibraryWizardLicensePage.createControl(DownloadLibraryWizardLicensePage.java:56)
    at org.eclipse.jface.wizard.Wizard.createPageControls(Wizard.java:174)
    at org.eclipse.jface.wizard.WizardDialog.createPageControls(WizardDialog.java:736)
    at org.eclipse.jface.wizard.WizardDialog.createContents(WizardDialog.java:608)
    at org.eclipse.jface.window.Window.create(Window.java:432)
    at org.eclipse.jface.dialogs.Dialog.create(Dialog.java:1104)
    at org.eclipse.jface.window.Window.open(Window.java:791)
    at org.eclipse.jst.common.project.facet.ui.libprov.user.internal.DownloadLibraryWizard.open(DownloadLibraryWizard.java:102)
    at org.eclipse.jst.common.project.facet.ui.libprov.user.UserLibraryProviderInstallPanel$4.widgetSelected(UserLibraryProviderInstallPanel.java:194)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1392)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3742)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3363)
    at org.eclipse.jface.window.Window.runEventLoop(Window.java:826)
    at org.eclipse.jface.window.Window.open(Window.java:802)
    at org.eclipse.wst.common.project.facet.ui.internal.FacetsPropertyPage.handleFurtherConfigHyperlinkEvent(FacetsPropertyPage.java:533)
    at org.eclipse.wst.common.project.facet.ui.internal.FacetsPropertyPage.access$5(FacetsPropertyPage.java:491)
    at org.eclipse.wst.common.project.facet.ui.internal.FacetsPropertyPage$7.linkActivated(FacetsPropertyPage.java:476)
    at org.eclipse.ui.forms.widgets.AbstractHyperlink.handleActivate(AbstractHyperlink.java:233)
    at org.eclipse.ui.forms.widgets.AbstractHyperlink.handleMouseUp(AbstractHyperlink.java:327)
    at org.eclipse.ui.forms.widgets.AbstractHyperlink.access$2(AbstractHyperlink.java:311)
    at org.eclipse.ui.forms.widgets.AbstractHyperlink$4.handleEvent(AbstractHyperlink.java:125)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1392)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3742)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3363)
    at org.eclipse.jface.window.Window.runEventLoop(Window.java:826)
    at org.eclipse.jface.window.Window.open(Window.java:802)
    at org.eclipse.ui.dialogs.PropertyDialogAction.run(PropertyDialogAction.java:158)
    at org.eclipse.jface.action.Action.runWithEvent(Action.java:499)
    at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584)
    at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501)
    at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1392)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3742)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3363)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1113)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:997)
    at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:138)
    at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:610)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:567)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
    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:597)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
    at org.eclipse.equinox.launcher.Main.main(Main.java:1426)
Caused by: java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons: 
    /home/jbochenski/opt/eclipse/configuration/org.eclipse.osgi/bundles/664/1/.cp/libswt-mozilla-gtk-4333.so: libxpcom.so: cannot open shared object file: No such file or directory
    no swt-mozilla-gtk in java.library.path
    /home/jbochenski/.swt/lib/linux/x86_64/libswt-mozilla-gtk-4333.so: libxpcom.so: cannot open shared object file: No such file or directory
    Can't load library: /home/jbochenski/.swt/lib/linux/x86_64/libswt-mozilla-gtk.so

    at org.eclipse.swt.internal.Library.loadLibrary(Library.java:331)
    at org.eclipse.swt.internal.Library.loadLibrary(Library.java:240)
    at org.eclipse.swt.browser.Mozilla.initMozilla(Mozilla.java:2009)
    ... 62 more

Solution

  • I was able to make it run by installing libwebkitgtk-1.0-0 - as suggested in Open eclipse juno with error "No more handles ..." in Ubuntu 12.04