关于libjnotify.so的版本在linux上不兼容的问题解决
来源:互联网 发布:湘北 陵南 数据 编辑:程序博客网 时间:2024/06/05 10:55
一、问题描述
SEVERE: Servlet [InitServlet] in web application [] threw load() exception
java.lang.UnsatisfiedLinkError:/payment/tomcats/tomcat-payment-gateway/lib/libjnotify.so:/lib64/libc.so.6:version`GLIBC_2.12’not found (required by /payment/tomcats/tomcat-payment-gateway/lib/libjnotify.so)
二、解决办法
方法一:重新编译jnotify生成libjnotify.so
1、使用[strings /lib64/libc.so.6 | grep GLIBC] 查看支持系统中的GLIBC版本 payment@test1:~/tomcats/tomcat-payment-gateway/logs>
strings /lib64/libc.so.6 | grep GLIBC
GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
GLIBC_2.6
GLIBC_2.7
GLIBC_2.8
GLIBC_2.9
GLIBC_2.10
GLIBC_2.11
GLIBC_PRIVATE
发现系统的glibc比较老旧,最新的为GLIBC_2.11。
2、为了安全和稳定起见,自己编译jnotify的代码生成libjnotify.so
3、执行 gcc -I /usr/java/jdk1.7.0_80/include/ -I
/usr/java/jdk1.7.0_80/include/linux/ -fPIC -g -c
net_contentobjects_jnotify_linux_JNotify_linux.c -o libjnotify.o
会看到多个libjnotify.o
4、执行 gcc -g -shared -W1 -o libjnotify.so libjnotify.o -lc
就会看到 libjnotify.so
5、然后把 libjnotify.so复制到java.library.path下面去就行了
方法二:升级GLIBC
1、glibc下载地址:http://ftp.gnu.org/gnu/glibc/
2、解压
$ mv glibc-ports-2.15 glibc-2.15/ports
$ mkdir glibc-build-2.15 &&cd glibc-build-2.15
$ ./glibc-2.15/configure
--prefix=/usr/local/glibc_mips CC=mipsel-linux-gcc
--host=mipsel-linux
--build=i686-pc-linux-gnu
--enable-add-on=nptl
libc_cv_forced_unwind=yes
libc_cv_c_cleanup=yes
libc_cv_mips_tls=yes
libc_cv_gnu99_inline=yes
3、第2步没问题执行 $ make &&make install
4、查看是否升级完成 $ ls -l /lib/libc.so.6
输出:lrwxrwxrwx 1 root root 14 Jun 16 11:24 /lib/libc.so.6 -> libc-2.12.3.so
说明升级完成。
三、参考链接:
http://blog.csdn.net/akon_vm/article/details/9329089
http://blog.csdn.net/ldl22847/article/details/18702645
PS:
1、64位linux系统可以运行32位和64位程序,32位系统只能运行32位程序
2、file topas
可以检查这个文件是32位还是64位
3、ldd topas
可以检查这个文件需要哪些依赖库文件,可能依赖的库文件libG4processes.so是32位不满足需求
- 关于libjnotify.so的版本在linux上不兼容的问题解决
- 关于Ubuntu”系统的网络服务与此版本的网络管理器不兼容“问题解决方案
- 关于VS.NET --WEB服务器版本运行不兼容的问题解决方案
- 关于在android开发时图像识别so文件不兼容的问题
- WEB服务器版本运行不兼容的问题解决方案
- python3 安装 Beautifulsoup4结果发现版本不兼容的问题解决
- 关于wtk不兼容64位Win7的问题解决
- 关于VS和OFFICE不兼容的问题解决方法
- 网页在IE8 下不兼容的问题解决方法(图)
- 网页在IE8 下不兼容的问题解决方法(图)
- 关于disabled 属性在FF 浏览器上不兼容的问题! 我找到了答案!
- 关于lua字节码在32位和64位系统上不兼容的问题
- 关于WebView不同版本系统不兼容的问题
- linux 和windows 的 tomcat版本不兼容
- 关于升级Xcode版本后插件不能用的问题解决
- 重写MediaController在不同版本上的兼容方案
- 关于android 导入第三方.so库文件在低版本Android手机上正常使用,在5.0版本的手机上就出现闪退
- Spock和Groovy不兼容的问题解决
- [linux] start with elementary
- potplay的使用
- C#语言基础之数据类型的转换
- asp.net core学习01
- 在<form:select>中使用<c:forEach>标签遍历几种list示例
- 关于libjnotify.so的版本在linux上不兼容的问题解决
- 找出数组中重复的数字
- 用''*''号输出字母''E''
- hbase学习--2 使用Java API列出表
- C#基础点滴_命名空间
- HTML部分基础总结(4)
- JDBC与mysql总结
- fmt:formatDate和fmt:formatNumber的使用
- 输出菱形