【问题标题】:Linux CentOS YUM Error Package Requires - libcrypto.so.10(OPENSSL_1.0.1_EC)(64bit)Linux CentOS YUM 错误包需要 - libcrypto.so.10(OPENSSL_1.0.1_EC)(64bit)
【发布时间】:2014-03-25 23:38:35
【问题描述】:

当我尝试执行“yum update”时遇到错误,我不确定如何解决。以下是错误信息:

--> Finished Dependency Resolution
Error: Package: nginx-1.4.7-1.el6.ngx.x86_64 (nginx)
           Requires: libcrypto.so.10(OPENSSL_1.0.1_EC)(64bit)

当我尝试升级(我相信这是向前迈出的最好一步)时,这些我“无事可做” - 就像使用以下行:

喜欢:

sudo yum reinstall openssl

或:

sudo yum install http://mirror.centos.org/centos/6/os/x86_64/Packages/openssl-1.0.1e-15.el6.x86_64.rpm

Examining /var/tmp/yum-root-qbBKfF/openssl-1.0.1e-15.el6.x86_64.rpm: openssl-1.0.1e-15.el6.x86_64
/var/tmp/yum-root-qbBKfF/openssl-1.0.1e-15.el6.x86_64.rpm: does not update installed package.
Error: Nothing to do

我已尝试清理 YUM 数据库

rpm -e --justdb --nodeps openssl

sudo rpm -ivh --force http://mirror.centos.org/centos/6.5/updates/x86_64/Packages/openssl-1.0.1e-16.el6_5.4.x86_64.rpm

当我运行“rpm -q --provides openssl”时,它们似乎都放在了所需的包上,但是我在 YUM 中收到了这个错误消息:

sudo yum update
There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:

   /lib64/libcrypto.so.10: version `OPENSSL_1.0.1_EC' not found (required by /usr/lib64/libssl.so.10)

Please install a package which provides this module, or
verify that the module is installed correctly.

It's possible that the above module doesn't match the
current version of Python, which is:
2.6.9 (unknown, Feb 24 2014, 11:42:49)
[GCC 4.6.3 20120306 (Red Hat 4.6.3-2)]

If you cannot solve this problem yourself, please go to
the yum faq at:
  http://yum.baseurl.org/wiki/Faq

谁能建议我应该尝试的其他事情?

我似乎无法更新、强制更新、清理 Yum DB 并重新安装。干净的 DB 和 Force 确实打开了包,但 YUM 找不到它需要的 OPENSSL_1.0.1_EC 包。

我尝试使用以下 2 个软件包进行升级:

http://mirror.centos.org/centos/6.5/updates/x86_64/Packages/openssl-1.0.1e-16.el6_5.4.x86_64.rpm
http://mirror.centos.org/centos/6/os/x86_64/Packages/openssl-1.0.1e-15.el6.x86_64.rpm

【问题讨论】:

标签: linux openssl centos yum


【解决方案1】:

您似乎安装了非库存的 openssl 软件包(可能是 ptudor 的?)它们不提供 OPENSSL_1.0.1_EC,因为他完全放弃了 openssl-1.0.1e/version.map.fips-ec。

一种可能的解决方法是以这种方式将提供添加到您的自定义 openssl 包中:

--- 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*;
++};

应该将所需的 PROVIDE 添加到库中。我向他提出了那个解决方案,但他不喜欢。

https://github.com/ptudor/centos6-openssl/issues/4

否则您必须重新构建 nginx 包以链接到您的自定义 openssl。

【讨论】:

  • 对于将来遇到此问题的任何人,我建议首先转到 github.com/ptudor/centos6-openssl 并重建您的 openssl 二进制文件。我假设 ptudor 会接受我的拉取请求,在这种情况下有一个 openssl-1.0.1i 的教程
  • 这个问题有更新吗?此答案和上述评论中的链接已损坏?
猜你喜欢
  • 1970-01-01
  • 2018-08-06
  • 1970-01-01
  • 2020-05-03
  • 1970-01-01
  • 2015-03-14
  • 1970-01-01
  • 2021-10-28
  • 2016-04-03
相关资源
最近更新 更多