Kesalahan Link Tidak Puas dan file .so hilang saat memulai Eclipse


19

Saya ditingkatkan ke 12,04 beta kemarin. Sekarang, ketika saya mencoba memulai Eclipse, saya mendapatkan layar splash dan kemudian pesan kesalahan ini:

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

File log mengatakan sesuatu seperti ini:

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

diikuti oleh banyak pesan kesalahan lainnya.

The /home/gabriel/.swt/lib/linux/x86_64/direktori ada, tapi kosong. Saya juga mencoba menginstal ulang gerhana tanpa hasil.

Ada ide?


Ini adalah bug. Silakan masuk ke Launchpad dan daftarkan bahwa ini juga mempengaruhi Anda: bugs.launchpad.net/ubuntu/+source/eclipse/+bug/989615
David Edwards

Jawaban:


19

Saya mendapatkan masalah yang sama di mesin AMD64 (Ubuntu 12.04). dan menyelesaikannya dengan solusi:

salin: file yang mengandung '3740' di /usr/lib/jni/libswt-*3740.so ke ~ / .swt / lib / linux / x86_64 /

Tapi, pastikan paket-paket: libswt-gtk-3-java & libswt-gtk-3-jni diinstal.

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

Dan

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

jika Anda memiliki sistem berbasis 32 bit: sudo cp /usr/lib/jni/libswt-*3740.so ~/.swt/lib/linux/x86/


1
wow ini benar-benar bekerja untuk saya juga (Intel core i5, 64 bit ubuntu 12.04) terima kasih banyak!
vallllll

1
Bekerja sangat baik untuk sistem 32-bit. Menggunakan: sudo cp /usr/lib/jni/libswt-*3740.so ~/.swt/lib/linux/x86/. Terima kasih dan perbarui jawaban Anda.
Binarylife

1
Ini benar-benar bekerja untuk saya (Ubuntu 64 bit). Saya telah membuat tautan lunak alih-alih salinan.
Masuch

4

Coba jalankan

sudo update-alternatives --config java

dan seleksi open jdk. Ini mungkin akan berhasil.


Ini berhasil, tetapi saya mencoba untuk tidak menggunakan openjdk.
Keidax

Sebenarnya tidak apa-apa. Saya hanya akan pergi dengan itu.
Keidax

1
Saya juga ingin menghindari openjdk, jadi lihatlah jawaban Hanynowsky; itu berhasil untuk saya!
Nick Badal

2

Bagi saya ini juga berfungsi; Saya selesai:

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

jadi, saya membuat 3 symlink di folder ~ / .swt / lib / linux / x86_64

Sekarang Eclipse berfungsi dengan baik!


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

memperbaikinya untukku.


Cintai solusi ini, perbaiki untuk semua pengguna.
Adam Ness

1

Terima kasih untuk instruksi yang bagus. Saya menambahkan symlink seperti ini, untuk memastikan ia mengambil semua 3740 :

cd ~/.swt/lib/linux/x86_64

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

0

Saya membuat symlink ke lib yang hilang dan semuanya bekerja dengan baik. Itu akhirnya tampak seperti ini ...

    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

Tampaknya bekerja.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.