It's all about the answers!

Ask a question

UnsatisfiedLinkError: no swt-mozilla-gtk-3349 or swt-mozilla


Thomas Lawless (611) | asked Jul 11 '08, 8:20 a.m.
I have RTC v1.0 server and client installed on a Ubuntu 8.04 VM for evaluation. The server installed and runs fine... but the client throws an exception every time I open the Iteration Plan Editor (please see below). Once this exception is thrown, the client becomes extremely unstable and it appears the only way to clean up after the error is to reboot the VM... restarting eclipse doesn't seem to do it. Has anyone else seen this issue and/or is there a work around or fix that can be applied?

Here is the error from the log file:
!SESSION 2008-07-11 07:19:08.154 -----------------------------------------------
eclipse.buildId=unknown
java.fullversion=J2RE 1.5.0 IBM J9 2.3 Linux x86-32 j9vmxi3223-20080315 (JIT enabled)
J9VM - 20080314_17962_lHdSMr
JIT - 20080130_0718ifx2_r8
GC - 200802_08
BootLoader constants: OS=linux, ARCH=x86, WS=gtk, NL=en_US
Framework arguments: -product com.ibm.team.concert.product
Command-line arguments: -os linux -ws gtk -arch x86 -product com.ibm.team.concert.product

!ENTRY com.ibm.team.process.ide.ui 4 0 2008-07-11 07:19:25.765
!MESSAGE Error logged from Process Client UI:
!STACK 0
org.eclipse.swt.SWTError: No more handles (java.lang.UnsatisfiedLinkError: no swt-mozilla-gtk-3349 or swt-mozilla-gtk in swt.library.path, java.library.path or the jar file)
at org.eclipse.swt.SWT.error(SWT.java:3589)
at org.eclipse.swt.SWT.error(SWT.java:3481)
at org.eclipse.swt.browser.Mozilla.create(Mozilla.java:323)
at org.eclipse.swt.browser.Browser.<init>(Browser.java:109)
at com.ibm.team.process.internal.ide.ui.advice.TeamAdvisorView.createDetailBrowser(TeamAdvisorView.java:295)
at com.ibm.team.process.internal.ide.ui.advice.TeamAdvisorView.createPartControl(TeamAdvisorView.java:277)
at org.eclipse.ui.internal.ViewReference.createPartHelper(ViewReference.java:370)
at org.eclipse.ui.internal.ViewReference.createPart(ViewReference.java:227)
at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:592)
at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:299)
at org.eclipse.ui.internal.ViewPane.setVisible(ViewPane.java:531)
at org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:179)
at org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select(PresentablePartFolder.java:268)
at org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder.select(LeftToRightTabOrder.java:65)
at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation.selectPart(TabbedStackPresentation.java:400)
at org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:1256)
at org.eclipse.ui.internal.PartStack.createControl(PartStack.java:668)
at org.eclipse.ui.internal.PartStack.createControl(PartStack.java:576)
at org.eclipse.ui.internal.PartSashContainer.createControl(PartSashContainer.java:564)
at org.eclipse.ui.internal.PerspectiveHelper.activate(PerspectiveHelper.java:270)
at org.eclipse.ui.internal.Perspective.onActivate(Perspective.java:931)
at org.eclipse.ui.internal.WorkbenchPage.onActivate(WorkbenchPage.java:2515)
at org.eclipse.ui.internal.WorkbenchWindow$23.run(WorkbenchWindow.java:2837)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
at org.eclipse.ui.internal.WorkbenchWindow.setActivePage(WorkbenchWindow.java:2818)
at org.eclipse.ui.internal.WorkbenchWindow$17.runWithException(WorkbenchWindow.java:2135)
at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:129)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3296)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2974)
at org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:801)
at org.eclipse.ui.internal.Workbench$25.runWithException(Workbench.java:1342)
at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:129)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3296)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2974)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2309)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219)
at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:169)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:618)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:508)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447)
at org.eclipse.equinox.launcher.Main.run(Main.java:1173)
at org.eclipse.equinox.launcher.Main.main(Main.java:1148)
Caused by: java.lang.UnsatisfiedLinkError: no swt-mozilla-gtk-3349 or swt-mozilla-gtk in swt.library.path, java.library.path or the jar file
at org.eclipse.swt.internal.Library.loadLibrary(Library.java:219)
at org.eclipse.swt.internal.Library.loadLibrary(Library.java:151)
at org.eclipse.swt.browser.Mozilla.create(Mozilla.java:308)
... 55 more

3 answers



permanent link
Robert Connell (116) | answered Jul 11 '08, 8:23 a.m.
You need to set the MOZILLA_FIVE_HOME environment variable prior to launching Eclipse (TeamConcert).

eg (on Debian I do):

$export MOZILLA_FIVE_HOME=/usr/lib/firefox
$./TeamConcert

For some more details about using xulrunner you can read the faq entry on this page:

http://www.eclipse.org/swt/faq.php

permanent link
Thomas Lawless (611) | answered Jul 11 '08, 8:53 a.m.
This didn't fix the issue, but pointed me in the right direction. It looks like on Ubuntu 7.10/8.04 you need to install xulrunner 1.8.1. Use this command.

sudo apt-get install xulrunner

After install completes, there is no need for MOZILLA_FIVE_HOME environment variable from what I can tell. I will test more, but it looks like the initial error has been resolved. Thanks for your help.

permanent link
Aaron Cohen (8207851) | answered Jul 16 '08, 11:33 a.m.
JAZZ DEVELOPER
tglawles wrote:
This didn't fix the issue, but pointed me in the right direction. It
looks like on Ubuntu 7.10/8.04 you need to install xulrunner 1.8.1.
Use this command.

sudo apt-get install xulrunner

After install completes, there is no need for MOZILLA_FIVE_HOME
environment variable from what I can tell. I will test more, but it
looks like the initial error has been resolved. Thanks for your
help.

I was working with a Technical Support Engineer yesterday on this issue.

You may run into an issue if you upgrade to Firefox 3 which uses
xulrunner 1.9. If you do, download a copy of xulrunner 1.8.3 to a
subdirectory of RTC and point org.eclipse.swt.browser.XULRunnerPath to
that directory in your eclipse.ini file. Alternatively you could do what
I did and point RTC to Eclipse 3.4 during the install.

Your answer


Register or to post your answer.


Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.