启动Eclipse时不满意的链接错误和丢失的.so文件


19

我昨天升级到了12.04 Beta。现在,当我尝试启动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,但没有成功。

有任何想法吗?


这是一个错误。请登录启动板并注册,这也会对您造成
David Edwards

Answers:


19

我在AMD64机器(Ubuntu 12.04)中也遇到了同样的问题。并通过一种解决方法解决了该问题:

复制:将 /usr/lib/jni/libswt-*3740.so中包含'3740'的文件复制〜/ .swt / lib / linux / x86_64 /

但是,请确保已安装软件包:libswt-gtk-3-javalibswt-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核心i5,64位ubuntu 12.04),非常感谢!
vallllll'5

1
非常适合32位系统。使用:sudo cp /usr/lib/jni/libswt-*3740.so ~/.swt/lib/linux/x86/。谢谢,请更新您的答案。
Binarylife

1
它对我也确实有效(Ubuntu精确64位)。我创建了软链接而不是副本。
masuch 2012年


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

因此,我在文件夹〜/ .swt / lib / linux / x86_64中创建了3个符号链接

现在,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

似乎可以工作。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.