Невдала помилка посилання та відсутні файли .so при запуску програми Eclipse


19

Я вчора перейшов до бета-версії 12.04. Тепер, коли я намагаюся запустити Eclipse, я отримую екран сплеску, а потім це повідомлення про помилку:

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

Файл журналу говорить приблизно так:

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

після чого ще багато повідомлень про помилки.

/home/gabriel/.swt/lib/linux/x86_64/Каталог існує, але порожній. Я також намагався перевстановити eclipse без успіху.

Якісь ідеї?


Це помилка. Будь ласка, увійдіть у Launchpad та зареєструйте, що це також впливає на вас: bugs.launchpad.net/ubuntu/+source/eclipse/+bug/989615
David Edwards

Відповіді:


19

У мене така ж проблема в машині AMD64 (Ubuntu 12.04). і вирішив це шляхом:

Скопіюйте: файли, що містять '3740' в /usr/lib/jni/libswt-*3740.so до ~ / .swt / lib / linux / x86_64 /

Але переконайтесь, що пакети: libswt-gtk-3-java & libswt-gtk-3-jni встановлені.

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

І

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

якщо у вас 32-бітова система: sudo cp /usr/lib/jni/libswt-*3740.so ~/.swt/lib/linux/x86/


1
Нічого, це насправді працювало і для мене (Intel Core i5, 64-бітний ubuntu 12.04) велике спасибі!
vallllll

1
Працював чудово для 32-бітної системи. Використання: sudo cp /usr/lib/jni/libswt-*3740.so ~/.swt/lib/linux/x86/. Дякуємо та оновіть свою відповідь, будь ласка.
Binarylife

1
Це дійсно працює і для мене (Ubuntu точний 64 біт). Я створив м'які посилання замість копії.
мачух

4

Спробуйте запустити

sudo update-alternatives --config java

і вибір open jdk. Це, мабуть, спрацює.


Це спрацювало, але я намагаюся уникати використання openjdk.
Кейдакс

Насправді, неважливо. Я просто піду з цим.
Кейдакс

1
Я також хотів уникнути openjdk, тому перевірте відповідь Ганиновського; це працювало на мене!
Нік Бадал

2

Також для мене це працює; Я зробив:

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

і так, я створив 3 симпосилання в папці ~ / .swt / lib / linux / x86_64

Зараз Eclipse працює чудово!



1

Дякую за чудові інструкції. Я замість цього додав подібні посилання, щоб переконатися, що він набирає всі 3740 :

cd ~/.swt/lib/linux/x86_64

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

0

Я зробив символічні посилання на відсутні лібси і все спрацювало нормально. Це виглядало так ...

    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

Здається, працює.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.