Ubuntu: l’application SWT ne peut pas charger la bibliothèque GTK

J’ai fourni le fichier jar Linux SWT et emballé mon application dans Eclipse pour inclure swt.jar dans le fichier jar de mon application. Lorsque j’essaie de l’exécuter sur Ubuntu, j’obtiens le texte d’erreur suivant (cause uniquement pour la publication):

Causé par: java.lang.UnsatisfiedLinkError: impossible de charger la bibliothèque SWT. Les raisons:

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

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

/home/nifty/.swt/lib/linux/x86/libswt-pi-gtk-4234.so: libgtk-x11-2.0.so.0: impossible d’ouvrir le fichier d’object partagé: aucun fichier ou répertoire de ce type

Impossible de charger la bibliothèque: /home/nifty/.swt/lib/linux/x86/libswt-pi-gtk.so

Cela m’indique qu’il ne peut pas charger un fichier GTK, mais rien d’autre que cela, et je suis perdu. Je n’utilise que Ubuntu pour tester mon application, donc je connais très peu.

Sur mon Wheezy / testing Debian 64 bits, je l’ai résolu en faisant

apt-get install ia32-libs-gtk 

( http://www.eclipse.org/forums/index.php/t/262868/ ). Si votre système n’est pas un système 64 bits, cette suggestion n’est pas applicable.

Voici comment je corrige cette lib manquante sur mon Ubuntu 13.10 x86_64:

java.lang.UnsatisfiedLinkError: Impossible de charger la bibliothèque SWT. Raisons: /home/ywu/.eclipse/473605238/configuration/org.eclipse.osgi/bundles/361/1/.cp/libswt-pi-gtk-4236.so: libgtk-x11-2.0.so.0: impossible ouvrir le fichier object partagé: aucun fichier ou répertoire de ce type

 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 

Pour les versions plus récentes, s’il est impossible de trouver libgtk-3.so.0 , le paquetage évident dont vous avez besoin pour apt-get install est libgtk-3-0 . Cependant, il semble qu’il n’y ait pas un tel paquet sur Ubuntu Zesty (17.04), donc je devais passer à Xenial (16.04). Artful et plus tard devrait fonctionner aussi.

En outre, le programme d’ installation graphique d’Eclipse ne fonctionnera pas sans cela.