libssl.so.10 no version information available required by相关问题
程序员文章站
2022-06-09 17:28:15
...
0x01、问题描述
原来线上nginx是yum安装的,本来想支持第三方模块echo
的,抱着尝试的心态,
- 1、下载了同样版本的nginx,然后使用
/usr/sbin/nginx -V
查看了系统nginx的编译参数,然后在源码目录中使用同样的编译flag来编译nginx - 2、不巧,configure过程,环境检查就出问题了,缺少libpcre-devel库,安装后没有问题了,再尝试检测,发现还要安装openssl相关的
- 3、就是这里出问题了,一查看有openssl的包安装,索引把开发包一起安装了。openssl-devel,安装就编译正常了,也make,make install了(事先已经做好备份了),以为没有问题了,然而………………
- 4、nginx -v的时候出现了下面的错误, 使用网上提供的方法解决了。
$ nginx -v
nginx: relocation error: /usr/lib64/libssl.so.10: symbol private_ossl_minimum_dh_bits, version libcrypto.so.10 not defined in file libcrypto.so.10 with link time reference
- 5、然后又出现了下面的问题了,基本上是安装了不同版本的openssl,
# 使用nginx查看版本
$ nginx -v
nginx: /usr/lib64/libssl.so.10: no version information available (required by nginx)
# 查看openssl的版本
$ openssl version
openssl: /usr/lib64/libssl.so.10: no version information available (required by openssl)
就先到这里,下面是如何解决的方法,更多的是运气成分吧
0x02、解决方法
- 01、开发环境和线上环境是一样的系统和版本
- 02、在线上环境执行了
yum update
把所有软件包都升级了,nginx v1.6也升级到了v1.10,这就…………,暂时………… - 03、开发机上
yum update openssl
,和线上一样的版本 - 04、查看开发机对应的库文件是如何链接的
# 开发环境
[[email protected] ~]# ll /usr/lib64/libcrypto.so.10 /usr/lib64/libssl.so.10
lrwxrwxrwx 1 root root 19 Apr 25 12:37 /usr/lib64/libcrypto.so.10 -> libcrypto.so.1.0.1e
lrwxrwxrwx 1 root root 16 Apr 25 12:37 /usr/lib64/libssl.so.10 -> libssl.so.1.0.1e
# 线上环境, 是这样的,**猜测可能是解决问题4时手动替换库文件,导致yum链接异常的**
# cd /usr/lib64
# ll libssl.so.10
lrwxrwxrwx 1 root root 15 Apr 25 12:31 libssl.so.10 -> libssl.so.1.0.0
# ll libcrypto.so.10
lrwxrwxrwx 1 root root 23 Apr 25 11:43 libcrypto.so.10 -> libcrypto.so.1.0.1e_bak
- 05、拷贝至线上主机,检验md5码,发现是一样的,所以也没有替换的必要
- 06、那就把libssl.so.10, libcrypto.so.10这两个链接修改一下,和开发环境机器一致,因为开发环境是正常的。
$ cd /usr/lib64
$ ln -sfn libcrypto.so.1.0.1e libcrypto.so.10
$ ln -sfn libssl.so.1.0.1e libssl.so.10
$ ll libssl.so.10 libcrypto.so.10
lrwxrwxrwx 1 root root 19 Apr 25 12:46 libcrypto.so.10 -> libcrypto.so.1.0.1e
lrwxrwxrwx 1 root root 16 Apr 25 12:46 libssl.so.10 -> libssl.so.1.0.1e
### 此处是大写,TMD,终于正常了,吃饭去了
$ openssl version
OpenSSL 1.0.1e-fips 11 Feb 2013
$ nginx -v
nginx version: nginx/1.10.2
0x03、事后总结
一定,一定,一定
不在要生产环境执行任何不可预期的操作!!!
上一篇: 2018前端面试题
推荐阅读
-
(含软连接修改的分析) 安装caffe 出现libcurl.so.4: no version information available (required by cmake)
-
解决 php 在 ubuntu 下 no version information available (required by php)
-
libcurl.so.4: no version information available 问题
-
报错:cmake: /usr/local/lib/libcurl.so.4: no version information available (required by cmake)
-
cmake: /usr/local/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)错误
-
libssl.so.10 no version information available required by相关问题
-
no version information available问题解决
-
wget: /usr/local/ssl/lib/libcrypto.so.1.0.0: no version information available (required by wget)
-
/usr/lib64/libssl.so.10: no version information available (required by ./mongod)