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

19

Ho effettuato l'upgrade alla beta di 12.04 ieri. Ora, quando provo ad avviare Eclipse, ottengo la schermata iniziale e poi 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 tipo:

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 directory /home/gabriel/.swt/lib/linux/x86_64/ esiste, ma è vuota. Ho anche provato a reinstallare Eclipse senza successo.

Qualche idea?

    
posta Keidax 25.04.2012 - 21:41

6 risposte

19

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

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

Ma, assicurati che i pacchetti: libswt-gtk-3-java & amp; libswt-gtk-3-jni sono 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:   % Co_de% /

    
risposta data Hanynowsky 30.04.2012 - 07:11
4

Prova ad eseguire

sudo update-alternatives --config java

e selezione open jdk . Questo probabilmente funzionerebbe.

    
risposta data Lelouch Lamperouge 25.04.2012 - 21:51
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 symlink nella cartella ~ / .swt / lib / linux / x86_64

Ora Eclipse funziona perfettamente!

    
risposta data Luca122131 10.05.2012 - 18:10
2
echo "-Djava.library.path=/usr/lib/jni" >> /etc/eclipse.ini

risolto per me.

    
risposta data Dale E. Moore 25.07.2012 - 13:05
1

Grazie per le ottime istruzioni. Ho aggiunto invece dei link simbolici come questo, per assicurarmi che raccolga tutti 3740 :

cd ~/.swt/lib/linux/x86_64

for i in /usr/lib/jni/*3740*.so ; do ln -s $i; done
    
risposta data henry 28.05.2012 - 22:32
0

Ho creato collegamenti simbolici alle librerie mancanti e tutto ha funzionato correttamente. Ha finito per sembrare 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.

    
risposta data noel 10.05.2012 - 09:36

Leggi altre domande sui tag