当我运行“openssl”时,出现如下错误:
openssl:加载共享库时出错:libcrypto.so.1.1:无法打开共享对象文件:没有这样的文件或目录”
这是在我尝试根据本文更新 OpenSSL 之后发生的
有没有什么办法解决这一问题?
操作系统:CentOS 6.8 网络服务器:nginx/1.10.2
更新#1:
[root@host ~]# yum info openssl
Installed Packages
Name : openssl
Arch : x86_64
Version : 1.0.1e
Release : 48.el6_8.3
Size : 4.0 M
Repo : installed
From repo : system-updates
Summary : A general purpose cryptography library with TLS implementation
URL : ***
License : OpenSSL
Description : The OpenSSL toolkit provides support for secure communications
: between machines. OpenSSL includes a certificate management tool and
: shared libraries which provide various cryptographic algorithms and
: protocols.
Available Packages
Name : openssl
Arch : i686
Version : 1.0.1e
Release : 48.el6_8.3
Size : 1.5 M
Repo : system-updates
Summary : A general purpose cryptography library with TLS implementation
URL : ***
License : OpenSSL
Description : The OpenSSL toolkit provides support for secure communications
: between machines. OpenSSL includes a certificate management tool and
: shared libraries which provide various cryptographic algorithms and
: protocols.
Run Code Online (Sandbox Code Playgroud)
小智 21
我在安装的OpenSSL 1.1.0c的最后一个版本后,同样的问题,我解决了复制库文件的问题libcrypto.so.1.1
,libcrypto.a
并libssl.so
从/usr/local/lib64
在共享库/usr/lib64
。
复制库后,您需要创建符号链接。
ln -s libcrypto.so.1.1 libcrypto.so
ln -s libssl.so.1.1 libssl.so
Run Code Online (Sandbox Code Playgroud)
创建符号链接后,还需要重建 ldconfig 缓存:
sudo ldconfig
Run Code Online (Sandbox Code Playgroud)
小智 13
使用原始版本的 OpenSSL,它知道如何查找共享库,因为/usr/lib64
它包含在链接器的搜索路径中。当您下载并编译 OpenSSL 的“本地”副本时,/usr/local/lib64
默认情况下会放置共享库。因此,您可能只需要将此目录添加到链接器的搜索路径中,如下所示(以 root 身份):
echo "/usr/local/lib64" > /etc/ld.so.conf.d/openssl.conf
Run Code Online (Sandbox Code Playgroud)
然后执行:
ldconfig
Run Code Online (Sandbox Code Playgroud)
我相信这将解决您的问题。
归档时间: |
|
查看次数: |
133541 次 |
最近记录: |