转载请注明出处:小锋学长生活大爆炸[xfxuezhagn.cn]
如果本文帮助到了你,欢迎[点赞、收藏、关注]哦~
报错示例
File "/usr/local/ssr/ss/crypto/util.py", line 60, in find_library
path = ctypes.util.find_library(name)
File "/usr/lib/python3.9/ctypes/util.py", line 341, in find_library
_get_soname(_findLib_gcc(name)) or _get_soname(_findLib_ld(name))
File "/usr/lib/python3.9/ctypes/util.py", line 147, in _findLib_gcc
if not _is_elf(file):
File "/usr/lib/python3.9/ctypes/util.py", line 99, in _is_elf
with open(filename, 'br') as thefile:
FileNotFoundError: [Errno 2] No such file or directory: b'libcrypto>liblibcrypto.a'
解决方法
1. 检查是否安装了 OpenSSL 库
libcrypto
是 OpenSSL 提供的一部分。确保系统中已经安装了 OpenSSL。
Ubuntu/Debian 系统:
sudo apt update
sudo apt install openssl libssl-dev
CentOS/RHEL 系统:
sudo yum install openssl openssl-devel
2. 检查库文件路径
确认 libcrypto
是否存在并在系统库路径中:
find /usr/lib /usr/local/lib -name "libcrypto*"
输出应包含类似 /usr/lib/x86_64-linux-gnu/libcrypto.so
或 /usr/local/lib/libcrypto.a
的路径。如果找不到相关文件,说明库没有正确安装。重新安装 OpenSSL 后再测试。比如我的输出就是:
/usr/lib/x86_64-linux-gnu/libcrypto.a
/usr/lib/x86_64-linux-gnu/libcrypto.so
3. 创建符号链接
通过创建一个指向正确文件的符号链接来绕过这个问题:
sudo ln -s /usr/lib/x86_64-linux-gnu/libcrypto.a /usr/lib/x86_64-linux-gnu/libcrypto>liblibcrypto.a
然后就可以重新执行你之前的代码了。