Errore di collegamento non soddisfatto e file .so mancanti all'avvio di Eclipse


19

Ieri sono passato alla beta 12.04. Ora, quando provo ad avviare Eclipse, ottengo la schermata iniziale e quindi questo messaggio di errore:

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

Il file di registro dice qualcosa del genere:

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

seguito da molti altri messaggi di errore.

La /home/gabriel/.swt/lib/linux/x86_64/directory esiste, ma è vuota. Ho anche provato a reinstallare eclipse senza successo.

Qualche idea?


Questo è un bug Accedi a Launchpad e registra che ciò influisce anche su di te: bugs.launchpad.net/ubuntu/+source/eclipse/+bug/989615
David Edwards

Risposte:


19

Ho lo stesso problema in una macchina AMD64 (Ubuntu 12.04). e risolto con una soluzione alternativa:

copia: file contenenti '3740' in /usr/lib/jni/libswt-*3740.so in ~ / .swt / lib / linux / x86_64 /

Ma assicurati che i pacchetti: libswt-gtk-3-java e libswt-gtk-3-jni siano installati.

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

E

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

se hai un sistema basato su 32 bit: sudo cp /usr/lib/jni/libswt-*3740.so ~/.swt/lib/linux/x86/


1
wow, questo ha funzionato anche per me (Intel Core i5, Ubuntu 12.04 a 64 bit) grazie mille!
vallllll,

1
Ha funzionato alla grande per un sistema a 32 bit. Usando: sudo cp /usr/lib/jni/libswt-*3740.so ~/.swt/lib/linux/x86/. Grazie e aggiorna la tua risposta per favore.
Binarylife

1
Funziona davvero anche per me (Ubuntu preciso a 64 bit). Avevo creato collegamenti soft anziché copie.
Masuch

4

Prova a correre

sudo update-alternatives --config java

e selezione open jdk. Questo probabilmente funzionerebbe.


Questo ha funzionato, ma sto cercando di evitare di usarlo openjdk.
Keidax,

In realtà, non importa. Ci andrò e basta.
Keidax,

1
Volevo anche evitare openjdk, quindi controlla la risposta di Hanynowsky; ha funzionato per me!
Nick Badal,

2

Anche per me funziona; Ho fatto:

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

e così, ho creato 3 link simbolici nella cartella ~ / .swt / lib / linux / x86_64

Ora Eclipse funziona bene!


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

riparato per me.


Adoro questa soluzione, risolto per tutti gli utenti.
Adam Ness,

1

Grazie per le ottime istruzioni. Ho invece aggiunto collegamenti simbolici come questo, per essere sicuro che raccolga tutti i 3740 :

cd ~/.swt/lib/linux/x86_64

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

0

Ho creato collegamenti simbolici alle librerie mancanti e tutto ha funzionato bene. Alla fine sembrava così ...

    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

Sembra funzionare.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.