-
Notifications
You must be signed in to change notification settings - Fork 236
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
load liblibcrypto.a error #52
Comments
chacha20-ietf加密方式需要自己在本机安装加密库才能使用 |
libsodium 已经加载了, 并不是这个问题。 |
找到对应的libcrypto.a文件,加一个软连接liblibcrypto.a |
我已经解决了, 我只是报告这是一个 bug 吗? 正常有 liblibcrypto.a 吗? |
ssr-command-client不会自带这种本地加密库过来,需要用户自行根据ssr的加密方式去安装到本机 |
我的意思是, 真的有一个库的名字叫这个吗?liblibcrypto.a libcrypto.a 我理解, 但是 liblibcrypto.a 是真有这个库吗? 不是代码的问题吗? |
加载库的代码在shadowsocksr的源码中,具体里面怎么加载的这加密库我也没研究过,我是做大数据开发的,不是搞网络的,也没仔细研究过这个shadowsocksr中间的加密过程,所以没办法给你一个明确的回复,感兴趣的话可以自行阅读一下哈,这个issue我就不关了,等研究过的大佬给个明确的回复 |
我也遇到了这个问题,我注意到问题出现在shadowsocksr源码中的util.py文件中第68行,这里作者同时搜索了<library名>与"lib"+<library名>两个文件,然而ctypes.util.find_library方法对不存在的library抛出错误,为这里套上try-except后程序运行正常。 |
升级22.04后,默认python版本为3.10,会产生找不到liblibcrypto.a加密库的错误,三种解决方法:
|
ctypes.util.find_library不能查找前缀为lib的库,参考这里:https://docs.python.org/release/3.10.6/library/ctypes.html#ctypes.util.find_library .如果用find_library查找"libcrypto",会抛出异常,可用以下代码测试: 异常如下: 原因:根据find_library的调用栈,找到_findLib_gcc函数,该函数会通过subprocess调用gcc,并在gcc命令后面加上参数"-l",然后用正则去匹配gcc的输出.对比如下两个命令的输出: 前者输出如下: 后者输出如下: _findLib_gcc函数会用正则表达式,在gcc的输出中查找文件名,如果找到,则调用函数_is_elf打开匹配到的文件名.于是,对于前者的输出,正则查找liblibcrypto,在/usr/bin/ld: note to link with /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libcrypto.a use -l:libcrypto.a or rename it to liblibcrypto.a这句话中找到,并尝试打开文件liblibcrypto.a,该文件并不存在,所以报错;对于后者的输出,正则查找libliblibcrypto,在输出中未匹配到,不会调用_is_elf,并直接返回None,所以不会报错. |
方法 1,再追加一次 sudo ln -s /usr/lib/x86_64-linux-gnu/libcrypto.a /usr/lib/liblibcrypto.a 也可以成功 |
Linux version 5.10.63-v7+ (dom@buildbot) (arm-linux-gnueabihf-gcc-8 (Ubuntu/Linaro 8.4.0-3ubuntu1) 8.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #1459 SMP Wed Oct 6 16:41:10 BST 2021
raspberrypi. 2W
The text was updated successfully, but these errors were encountered: