web-dev-qa-db-fra.com

Eclipse ne peut pas charger de bibliothèques SWT

Chaque fois que j'essaie d'ouvrir Eclipse dans Ubuntu 12.04, une erreur de lien non satisfait s'affiche et elle ne s'ouvre pas. J'ai récemment installé le JDK Java et le SDK Android, est-ce que cela pourrait être le problème? J'ai suivi ce tutoriel .

Voici les informations du journal:

!SESSION 2012-04-15 21:05:46.902 -----------------------------------------------
Eclipse.buildId=I20110613-1736
Java.version=1.7.0
Java.vendor=Oracle Corporation
BootLoader constants: OS=linux, Arch=x86_64, WS=gtk, NL=en_GB
Command-line arguments:  -os linux -ws gtk -Arch x86_64

!ENTRY org.Eclipse.osgi 4 0 2012-04-15 21:05:47.885
!MESSAGE Application error
!STACK 1
Java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons: 
no swt-gtk-3740 in Java.library.path
no swt-gtk in Java.library.path
Can't load library: /home/tom/.swt/lib/linux/x86_64/libswt-gtk-3740.so
Can't load library: /home/tom/.swt/lib/linux/x86_64/libswt-gtk.so

at org.Eclipse.swt.internal.Library.loadLibrary(Library.Java:285)
at org.Eclipse.swt.internal.Library.loadLibrary(Library.Java:194)
at org.Eclipse.swt.internal.C.<clinit>(C.Java:21)
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:132)
at org.Eclipse.ui.internal.Workbench.createDisplay(Workbench.Java:695)
at org.Eclipse.ui.PlatformUI.createDisplay(PlatformUI.Java:161)
at org.Eclipse.ui.internal.ide.application.IDEApplication.createDisplay(IDEApplication.Java:153)
at org.Eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.Java:95)
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:344)
at org.Eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.Java:179)
at Sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at Sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Java:57)
at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:43)
at Java.lang.reflect.Method.invoke(Method.Java:601)
at org.Eclipse.equinox.launcher.Main.invokeFramework(Main.Java:622)
at org.Eclipse.equinox.launcher.Main.basicRun(Main.Java:577)
at org.Eclipse.equinox.launcher.Main.run(Main.Java:1410)
at org.Eclipse.equinox.launcher.Main.main(Main.Java:1386)

J'ai essayé de désinstaller et de réinstaller, et de supprimer le répertoire ~/.Eclipse mais cela ne fonctionne toujours pas

289
TomRichardson

sur mon Ubuntu 12.04 2 bits. Je modifie la commande pour:

ln -s /usr/lib/jni/libswt-* ~/.swt/lib/linux/x86/

Et sur Ubuntu 12.04 64 bits essayez:

ln -s /usr/lib/jni/libswt-* ~/.swt/lib/linux/x86_64/
659
Scott

Résolu:

Comme j’avais installé Oracle Java 7, le _ par défaut Java était remplacé par Oracle Java 7, mais il devait s'agir du JDK Open.

Pour réparer, ouvrez le terminal et tapez

Sudo update-alternatives --config Java

Ceci fait apparaître une liste des différents types de Java. Il suffit de sélectionner le JDK Ouvrir.

52
TomRichardson

Spécifiez simplement le chemin d'accès aux bibliothèques:

echo "-Djava.library.path=/usr/lib/jni/" >> /etc/Eclipse.ini
42
dzlatkov

Dans mon cas, il me manquait complètement le répertoire /usr/lib/jni. Fixé par

Sudo apt-get install libswt-gtk-3-jni libswt-gtk-3-Java

Pas besoin de faire un lien symbolique après. Eclipse a commencé normalement.

13
Trenton
 Impossible de charger la bibliothèque: /home/tom/.swt/lib/linux/x86_64/libswt-gtk-3740.so
. Impossible de charger la bibliothèque: /home/tom/.swt /lib/linux/x86_64/libswt-gtk.so

on dirait que les bibliothèques doivent être à .swt/lib/linux/x86_64/s'il n'y en a pas, vous pouvez essayer cette commande:

localisez libswt-gtk.so

cela devrait trouver les bibliothèques copier le répertoire complet dans /home/tom/.swt/lib/linux/x86_64

4
sherif

Je suis d'accord avec Scott, ce qu'il a énuméré a fonctionné. Cependant, le lancer depuis n'importe quel répertoire ne fonctionnait pas. Je devais aller sur le dossier /home/*/.swt/lib/linux/x86_64/ 0

répertoire en premier et ensuite exécutez la commande de lien:

Pour 32 bits:

ln -s /usr/lib/jni/libswt-* ~/.swt/lib/linux/x86/

Et sur Ubuntu 12.04 64 bits:

ln -s /usr/lib/jni/libswt-* ~/.swt/lib/linux/x86_64/
3
leroneb

Sur redhat7:

yum install gtk2 libXtst xorg-x11-fonts-Type1

fait le travail, à cause d'une dépendance de swt.

trouvé ici

3
user1767316

Si vous démarrez Eclipse à l'aide d'Oracle Java, il est possible qu'Eclipse ne parvienne pas à trouver des bibliothèques natives telles que les bibliothèques SWT ou SVN. Les bibliothèques SWT-JNI se trouvent dans/usr/lib/jni/et les bibliothèques SVN-JNI dans/usr/lib/x86_64-linux-gnu/jni /.

Au lieu de démarrer Eclipse avec la commande

Eclipse

vous pouvez utiliser la commande

env LD_LIBRARY_PATH=/usr/lib/jni/:/usr/lib/x86_64-linux-gnu/jni/:$LD_LIBRARY_PATH Eclipse

passer la variable d’environnement LD_LIBRARY_PATH à Eclipse. Eclipse trouvera les bibliothèques natives et fonctionnera correctement.

2
user1460856

Je suis tombé sur cette erreur lorsque j'ai essayé de démarrer la construction 32 bits d'Eclipse sous Linux 64 bits. Le problème a été résolu après l'installation du paquet ia32-libs.

1
lancha90

J'ai installé le JDK 32 bits à cause de cela, je reçois les erreurs. Après l'installation de JDK 64 bits http://www.Oracle.com/technetwork/Java/javase/downloads/jdk8-downloads-2133151.html jdk-8u131-linux-x64.tar.gz (veuillez "Téléchargez la version 64) et téléchargez" Eclipse-inst-linux64.tar.gz "en 64 bits.

0
Shyam Gupta

Une méthode peut-être plus générique consiste à:

  • installer une version non-headless de l'openjdk,
  • installer, exécuter et fermer Eclipse.
  • désinstaller l'openjdk
  • installer le JDK d'Oracle
0
user1767316

Assurez-vous que votre partition principale est montée avec des autorisations exécutables. C'est la valeur par défaut, mais si vous le montez sans l'option exec, vous obtiendrez cette erreur.

0
Martin B.