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?

Keidax
sumber
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/

Hanynowsky
sumber
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.

Lelouch Lamperouge
sumber
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!

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

memperbaikinya untukku.

Dale E. Moore
sumber
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
Henry
sumber
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.

Noel
sumber