OpenJDK 64位服务器VM警告:您已加载可能已禁用堆栈保护的库

时间:2014-06-22 21:18:57

标签: java eclipse debian libpcap shared-libraries

任何人都可以帮我解决此错误消息。

尝试使用jNetpcap API在eclipse中编译项目

我按照以下网站上提到的所有步骤,如何在Debian发行版上设置环境

http://jnetpcap.com/compile/debian

虽然我仍然收到以下错误消息

  

choosedevice ... OpenJDK 64位服务器VM警告:您已加载   库/usr/lib/libjnetpcap.so.1.3.b0003可能有   残疾人堆栈守卫。 VM将尝试立即修复堆栈防护。   强烈建议您使用'execstack -c修复库   ',或用'-z noexecstack'链接它。线程中的异常   “main”java.lang.UnsatisfiedLinkError:   /usr/lib/libjnetpcap.so.1.3.b0003:/usr/lib/libjnetpcap.so.1.3.b0003:   mauvaise classe ELF:ELFCLASS32(可能的原因:建筑词   java.lang.ClassLoader上的宽度不匹配)$ NativeLibrary.load(Native   方法)在java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1965)     在java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1890)at   java.lang.ClassLoader.loadLibrary(ClassLoader.java:1880)at   java.lang.Runtime.loadLibrary0(Runtime.java:849)at   java.lang.System.loadLibrary(System.java:1088)at   org.jnetpcap.Pcap。(未知来源)at   main.Main_app.choosedevice(Main_app.java:74)at   main.Main_app.main(Main_app.java:273)

顺便说一下,我试图执行“execstac -c”它根本不起作用 此外,我花了几天时间试图找出解决方案,到目前为止我得出的唯一结论是,我需要使用libjnetpcap.so(64位),因为我的Debian上有64位架构。 我需要做什么呢?

PS:我找不到任何“.deb”来安装这个64位的库。

1 个答案:

答案 0 :(得分:0)

文件 /usr/lib/libjnetpcap.so.1.3.b0003包含什么?

如果文件是 0字节文件,则确实存在问题,因此请尝试通过重新安装该库来修复系统。

我在smartgit中遇到了同样的问题,其中使用了本地config文件夹中的库,该库以某种方式损坏了,并且是一个0字节的文件。因此,删除config文件夹并重新启动应用程序对我有用。这也可能是解决方案。