Неудачная ссылка Ошибка и отсутствие файлов .so при запуске Eclipse

Вчера я обновился до 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 без успеха.

Любые идеи?

19
задан 26 April 2012 в 00:41

6 ответов

У меня такая же проблема на машине 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 /

19
ответ дан 25 May 2018 в 12:25
  • 1
    wow это действительно сработало для меня тоже (Intel Core i5, 64 бит ubuntu 12.04) большое спасибо! – vallllll 1 May 2012 в 14:57
  • 2
    Отлично подходит для 32-битной системы. Использование: sudo cp /usr/lib/jni/libswt-*3740.so ~/.swt/lib/linux/x86/. Спасибо и обновите свой ответ, пожалуйста. – Binarylife 3 May 2012 в 14:24
  • 3
    Это действительно работает для меня (Ubuntu точно 64 бит). Вместо копирования я создал мягкие ссылки. – masuch 5 May 2012 в 04:11

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

sudo update-alternatives --config java

и выбрать open jdk. Возможно, это сработает.

4
ответ дан 25 May 2018 в 12:25
  • 1
    Это действительно работало, но я стараюсь избегать использования openjdk. – Keidax 26 April 2012 в 00:58
  • 2
    На самом деле, неважно. Я просто поеду с ним. – Keidax 26 April 2012 в 06:58
  • 3
    Я также хотел избежать openjdk, так что проверьте ответ Ханыновского; это сработало для меня! – Nick Badal 3 May 2012 в 03:34

Также для меня это работает; Я сделал:

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 отлично работает!

2
ответ дан 25 May 2018 в 12:25
echo "-Djava.library.path=/usr/lib/jni" >> /etc/eclipse.ini

исправил это для меня.

2
ответ дан 25 May 2018 в 12:25
  • 1
    Любить это решение, исправил его для всех пользователей. – Adam Ness 12 August 2012 в 00:08

Спасибо за отличные инструкции. Вместо этого я добавил символические ссылки, чтобы убедиться, что он забирает все 3740:

cd ~/.swt/lib/linux/x86_64

for i in /usr/lib/jni/*3740*.so ; do ln -s $i; done
1
ответ дан 25 May 2018 в 12:25

Я сделал символические ссылки на недостающие библиотеки, и все сработало нормально. Это выглядело так:

    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

Кажется, работает.

0
ответ дан 25 May 2018 в 12:25

Другие вопросы по тегам:

Похожие вопросы: