Nifty255
Nifty255

Reputation: 427

Ubuntu: SWT App Can't Load GTK Library

I have supplied the Linux SWT jar and packaged my app in Eclipse to include swt.jar inside my app's jar. When I try to run it on Ubuntu, I get the following error text (posting only cause):

Caused by: java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons:

no swt-pi-gtk-4234 in java.library.path

no swt-pi-gtk in java.library.path

/home/nifty/.swt/lib/linux/x86/libswt-pi-gtk-4234.so: libgtk-x11-2.0.so.0: cannot open shared object file: No such file or directory

Can't load library: /home/nifty/.swt/lib/linux/x86/libswt-pi-gtk.so

This indicates to me it can't load a GTK file, but anything beyond that, and I'm at a loss. I'm only using Ubuntu to test my app, so I know very little.

Upvotes: 11

Views: 31397

Answers (5)

JRichardsz
JRichardsz

Reputation: 16505

This worked for me on i386/debian with docker:

apt-get install libgtk2.0-0 

Upvotes: 0

M.E
M.E

Reputation: 998

With latest Ubuntu (18.10), installing libswt-gtk-3-java fixed it. To do so, from a terminal, type the command: sudo apt install libswt-gtk-3-java

For most updated version, I would suggest following link: https://packages.ubuntu.com/search?keywords=swt-gtk

Upvotes: 4

Yushin Washio
Yushin Washio

Reputation: 733

For more recent releases, if it says it can't find libgtk-3.so.0, the obvious package you need to apt-get install is libgtk-3-0. However, it seems on Ubuntu Zesty (17.04) there isn't such a package, so I needed to switch to Xenial (16.04). Artful and later should work too.

Also, the graphical Eclipse Installer won't work without this.

Upvotes: 0

ywu
ywu

Reputation: 151

Here is how I fix that missing lib on my Ubuntu 13.10 x86_64:

java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons: /home/ywu/.eclipse/473605238/configuration/org.eclipse.osgi/bundles/361/1/.cp/libswt-pi-gtk-4236.so: libgtk-x11-2.0.so.0: cannot open shared object file: No such file or directory

ywu@ywu-HP-8100:~$ aptitude search libgtk2.0-0
    i   libgtk2.0-0                   - GTK+ graphical user interface library                                                         
    p   libgtk2.0-0:i386              - GTK+ graphical user interface library
ywu@ywu-HP-8100:~$ sudo apt-get install libgtk2.0-0:i386

Upvotes: 10

Orjan
Orjan

Reputation: 87

On my 64-bit Debian Wheezy/testing I solved it by doing

apt-get install ia32-libs-gtk

(http://www.eclipse.org/forums/index.php/t/262868/). If your system isn't a 64-bit system then this suggestion is not applicable.

Upvotes: 7

Related Questions