在Debian 3.16上缺少libswt-gtk-3349.so

时间:2016-02-10 04:31:02

标签: java linux gtk debian

我正在尝试在debian 3.16上执行一个java项目,我不断收到这条消息:

  

OpenJDK 64位服务器VM警告:您已加载库/tmp/libswt-gtk-3349.so,这可能已禁用堆栈保护。 VM将尝试立即修复堆栈防护。   强烈建议您使用' execstack -c'修复库,或将其与' -z noexecstack'链接。   线程" main"中的例外情况java.lang.UnsatisfiedLinkError:swt.library.path,java.library.path或jar文件中没有swt-gtk-3349或swt-gtk       在org.eclipse.swt.internal.Library.loadLibrary(未知来源)       在org.eclipse.swt.internal.Library.loadLibrary(未知来源)       在org.eclipse.swt.internal.C。(未知来源)       在org.eclipse.swt.internal.Converter.wcsToMbcs(未知来源)       在org.eclipse.swt.internal.Converter.wcsToMbcs(未知来源)       在org.eclipse.swt.widgets.Display。(未知来源)       在gui.MainWin.main(MainWin.java:912)

我在谷歌上看到了这个问题,我安装了所有推荐的软件包,但它们都没有libswt-gtk-3349.so。我还将所有gtk软件包与Eclipse一起安装,但我仍然遇到同样的错误。 关于如何解决这个问题的任何建议?

非常感谢

1 个答案:

答案 0 :(得分:0)

尝试解压缩swt.jar并执行file libswt-gtk-3349.so。如果命令指示.so是32位。这意味着你的swt.jar适用于32位Linux ...用x86_64版本替换它可以解决问题。

当64位Linux尝试加载32位.so时,但缺少一个必需的.so。 错误消息将告诉您找不到库。大多数64位Linux都没有安装32位lib并导致问题。