Ubuntu : error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file

Ubuntu 22.04 LTS 运行Curl 时出现报错

 curl
 curl: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory

解决办法

  • 如果能找到这个文件:libcrypto.so.1.0.0,则通过建立软链接的方式;如果不能,则尝试重新安装。

1.先找到curl所在的目录

which curl

输出得到:

/home/obs/anaconda3/bin/curl

确保,curl是正常安装成功的,可以发现我的curl是安装在/home/obs/anaconda3/bin/这个路径下

2、查找libcrypto.so.1.0.0 是否存在,存在的路径

find ~ -name libcrypto.so.1.0.0

输出得到:

/home/obs/anaconda3/pkgs/openssl-1.0.2p-h14c3975_0/lib/libcrypto.so.1.0.0

问题分析

能输出报错缺少的目标文件所在的路径信息,说明我的机器上已经安装了该文件,所以只是在curl运行时找到这个文件,所以发生上述报错

  • 我们需要做的就是让curl找到这个文件,而curl对于上述缺失的信息一般存放在~/anaconda3/lib下,所以我们要在该lib下建立一个上述缺失的文件,这可以通过软连接的方式实现
ln -sf /home/obs/anaconda3/pkgs/openssl-1.0.2p-h14c3975_0/lib/libcrypto.so.1.0.0   /home/obs/anaconda3/lib/libcrypto.so.1.0.0

如上所示,这部分命令包含两个路径,一个是已经找到的libcrypto.so.1.0.0 所在路径;第二个是想要将libcrypto.so.1.0.0链接的目标路径,即anaconda3/lib/下。

如此,可以发现curl能够正常运行了
Ubuntu : error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file_第1张图片

总结

在Linux上运行一些指令时,经常会发生xxxxx: cannot open shared object file的报错信息,如果下次在运行其他指令时也出现了类似的问题,可以尝试上述解决流程;也可以考虑重新安装相关软件。

你可能感兴趣的:(一些奇怪的知识,如何解决系列,linux,运维,服务器)