在 CentOs 6 上安装 nginx 时出现以下错误。我用谷歌搜索但无法执行任何操作。
Error: Package: nginx-1.4.6-1.el6.ngx.x86_64 (nginx)
Requires: libcrypto.so.10(OPENSSL_1.0.1_EC)(64bit)
如何找到由哪个软件包安装的库。
# whereis libcrypto.so
libcrypto:/usr/lib64/libcrypto.so
# rpm -qf /usr/lib64/libcrypto.so
openssl-devel-xxxx.x86_64
现在运行打击命令:
# yum install openssl-devel
您需要名为 libcrypto.so.10 的密码库
如果你安装 openssl 它将添加 libcrypto 库
yum install openssl
OPENSSL_1.0.1_EC 由库存的 openssl 库提供。
objdump -p /usr/lib64/libcrypto.so.10
Version definitions:
1 0x01 0x0af47420 libcrypto.so.10
2 0x00 0x0af47420 libcrypto.so.10
3 0x00 0x066a2b21 OPENSSL_1.0.1
4 0x00 0x02b21533 OPENSSL_1.0.1_EC
所以这可能意味着您不使用原始库。也许是ptudor的?https://www.ptudor.net/linux/openssl/
他完全放弃了 openssl-1.0.1e/version.map.fips-ec 但不想包含版本导出。https://github.com/ptudor/centos6-openssl/issues/4
如果是这样,您仍然可以通过这种方式重建那些 ptudor 库来修复它
--- openssl-1.0.1e-version.patch 2014-06-06 11:52:55.772046103 +0200
+++ new_openssl-1.0.1e-version.patch 2014-06-06 11:52:40.854045438 +0200
@@ -61,4 +61,12 @@
+ _original*;
+ _current*;
+};
++OPENSSL_1.0.1_EC {
++ global:
++ EC*;
++};
否则,您还可以重建现在无法安装的软件包并将其链接到您的自定义 openssl 库。