305 votes

Eclipse ne peut pas charger les bibliothèques SWT

Chaque fois que j'essaie d'ouvrir Eclipse sous Ubuntu 12.04, j'obtiens une erreur de liaison insatisfaite et elle ne s'ouvre pas. J'ai récemment installé le java JDK et Android SDK, cela pourrait-il ê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

662voto

Scott Points 5971

sur mon Ubuntu 12.04 32 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/
 

54voto

TomRichardson Points 1916

Résolu:

Parce que j'avais installé l'Oracle Java 7, il avait changé le Java par défaut en Oracle Java 7, mais il devait être le JDK Open.

Pour réparer, ouvrez le terminal et tapez

 sudo update-alternatives --config java
 

Cela amène une liste des différents types de Java. Sélectionnez simplement le JDK ouvert.

44voto

dzlatkov Points 461

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

 echo "-Djava.library.path=/usr/lib/jni/" >> /etc/eclipse.ini
 

16voto

Trenton Points 2315

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 lien symbolique après. Eclipse a démarré normalement.

5voto

sherif Points 1666
<pre> 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 </pre> <p>On dirait que les bibliothèques devraient être à .swt/lib/linux/x86_64/ si il ne sont pas là que vous pouvez essayer cette commande :</p> <pre>localiser libswt-gtk.so</pre> <p>Cela devrait trouver la copie de bibliothèques de tout le répertoire de /home/tom/.swt/lib/linux/x86_64</p>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X