Erreur de lien non satisfaite et fichiers .so manquants au démarrage d'Eclipse

19

J'ai mis à jour la version bêta 12.04 hier. Maintenant, lorsque j'essaie de démarrer Eclipse, j'obtiens l'écran de démarrage, puis ce message d'erreur:

An error has occurred. See the log file /home/gabriel/.eclipse/org.eclipse.platform_3.7.0_155965261/configuration/1335382319394.log .

Le fichier journal indique quelque chose comme ceci:

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/gabriel/.swt/lib/linux/x86_64/libswt-gtk-3740.so
    Can't load library: /home/gabriel/.swt/lib/linux/x86_64/libswt-gtk.so

suivi de nombreux autres messages d'erreur.

Le /home/gabriel/.swt/lib/linux/x86_64/répertoire existe, mais est vide. J'ai également essayé de réinstaller eclipse sans succès.

Des idées?

Keidax
la source
Ceci est un bug. Veuillez vous connecter à Launchpad et enregistrer que cela vous concerne également: bugs.launchpad.net/ubuntu/+source/eclipse/+bug/989615
David Edwards

Réponses:

19

J'ai le même problème sur une machine AMD64 (Ubuntu 12.04). et l'a résolu par une solution de contournement:

copie: fichiers contenant '3740' dans /usr/lib/jni/libswt-*3740.so vers ~ / .swt / lib / linux / x86_64 /

Mais assurez-vous que les packages: libswt-gtk-3-java et libswt-gtk-3-jni sont installés.

sudo apt-get install libswt-gtk-3-jni libswt-gtk-3-java

Et

sudo cp /usr/lib/jni/libswt-*3740.so ~/.swt/lib/linux/x86_64/

si vous avez un système basé sur 32 bits: sudo cp /usr/lib/jni/libswt-*3740.so ~/.swt/lib/linux/x86/

Hanynowsky
la source
1
wow cela a également fonctionné pour moi (Intel core i5, 64 bits ubuntu 12.04) merci beaucoup!
vallllll
1
Fonctionne très bien pour un système 32 bits. L' utilisation: sudo cp /usr/lib/jni/libswt-*3740.so ~/.swt/lib/linux/x86/. Merci et mettez à jour votre réponse s'il vous plaît.
Binarylife
1
Cela fonctionne vraiment pour moi non plus (Ubuntu précis 64 bits). J'avais créé des liens logiciels au lieu de copier.
masuch
4

Essayez de courir

sudo update-alternatives --config java

et sélection open jdk. Cela fonctionnerait probablement.

Lelouch Lamperouge
la source
Cela a fonctionné, mais j'essaie d'éviter d'utiliser openjdk.
Keidax
En fait, tant pis. Je vais juste y aller.
Keidax
1
Je voulais également éviter openjdk, alors consultez la réponse de Hanynowsky; ça a marché pour moi!
Nick Badal
2

Aussi pour moi, cela fonctionne; J'ai fait:

cd ~/.swt/lib/linux/x86_64
ln -s /usr/lib/jni/libswt-atk-gtk-3740.so
ln -s /usr/lib/jni/libswt-gtk-3740.so
ln-s /usr/lib/jni/libswt-pi-gtk-3740.so

et donc, j'ai créé 3 liens symboliques dans le dossier ~ / .swt / lib / linux / x86_64

Maintenant, Eclipse fonctionne bien!

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

réparé pour moi.

Dale E. Moore
la source
J'adore cette solution, corrigée pour tous les utilisateurs.
Adam Ness
1

Merci pour les excellentes instructions. J'ai ajouté des liens symboliques comme celui-ci à la place, pour m'assurer qu'il reprend tous les 3740 :

cd ~/.swt/lib/linux/x86_64

for i in /usr/lib/jni/*3740*.so ; do ln -s $i; done
Henri
la source
0

J'ai créé des liens symboliques vers les bibliothèques manquantes et tout a bien fonctionné. Ça a fini par ressembler à ça ...

    libswt-atk-gtk-3740.so -> /usr/lib/jni/libswt-atk-gtk-3740.so
    libswt-gtk-3740.so -> /usr/lib/jni/libswt-gtk-3740.so
    libswt-pi-gtk-3740.so -> /usr/lib/jni/libswt-pi-gtk-3740.so

Semble fonctionner.

noel
la source