Вчера я обновился до 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 без успеха.
Любые идеи?
У меня такая же проблема на машине AMD64 (Ubuntu 12.04). и разрешил его обходным путем:
copy: файлы, содержащие «3740» в /usr/lib/jni/libswt-*3740.so для ~ / .swt / lib / linux / x86_64 / [!d1 ]
Но, конечно, пакеты: копия: файлы, содержащие «3740» в и amp; Установлены 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 /
Попробуйте запустить
sudo update-alternatives --config java
и выбрать open jdk. Возможно, это сработает.
Также для меня это работает; Я сделал:
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 отлично работает!
echo "-Djava.library.path=/usr/lib/jni" >> /etc/eclipse.ini
исправил это для меня.
Спасибо за отличные инструкции. Вместо этого я добавил символические ссылки, чтобы убедиться, что он забирает все 3740:
cd ~/.swt/lib/linux/x86_64
for i in /usr/lib/jni/*3740*.so ; do ln -s $i; done
Я сделал символические ссылки на недостающие библиотеки, и все сработало нормально. Это выглядело так:
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
Кажется, работает.