有人能帮我解决这个错误吗?
我在使用jNetpcap API编译eclipse项目时出现了问题。
我按照下面网站上提到的步骤设置了Debian环境:
http://jnetpcap.com/compile/debian
但是我仍然遇到以下错误信息:
choosedevice ... OpenJDK 64-Bit Server VM warning: You have loaded library /usr/lib/libjnetpcap.so.1.3.b0003 which might have disabled stack guard. The VM will try to fix the stack guard now. It's highly recommended that you fix the library with 'execstack -c ', or link it with '-z noexecstack'. Exception in thread "main" java.lang.UnsatisfiedLinkError: /usr/lib/libjnetpcap.so.1.3.b0003: /usr/lib/libjnetpcap.so.1.3.b0003: mauvaise classe ELF : ELFCLASS32 (Possible cause: architecture word width mismatch) at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1965) at 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.(Unknown Source) 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:我找不到任何64位“.deb”安装此库。
/usr/lib
而不是/usr/lib64
中检查。 - Brett OkkenLD_LIBRARY_PATH
环境变量。如果您正在使用 64 位 jvm 运行,则/usr/lib
不应该是LD_LIBRARY_PATH
的一部分,而/usr/lib64
应该是。 - Brett Okken