未找到符号:_PEM_read_bio_EC_PUBKEY 针对 openssl 0.9.8x 或 1.0.0x 编译时导入 M2Crypto-0.20.2
当在 MAC OS X 10.4.11 上针对最新的 openssl 版本(0.9.8x 或更高版本)编译 M2Crypto 时,在 python 2.6.5 上导入 M2Crypto 版本 0.20.2 失败:
即使编译针对这些 openssl 版本工作,M2Crypto 也无法导入,因为缺少符号:_PEM_read_bio_EC_PUBKEY
Python 2.6.5(r265:79359,2010 年 3 月 24 日,01:32:55) [GCC 4.0.1 (Apple Inc. build 5493)] 达尔文 输入“帮助”、“版权”、“制作人员”或“许可证”以获取更多信息。
<块引用> <块引用>导入 M2Crypto 回溯(最近一次调用最后一次): 文件“”,第 1 行,位于 文件“M2Crypto/init.py”,第 22 行,位于 导入 _m2crypto 导入错误:dlopen(M2Crypto/_m2crypto.so,2):找不到符号:_PEM_read_bio_EC_PUBKEY 引用自:M2Crypto/__m2crypto.so 预期:动态查找
如果我针对 openssl 版本 0.9.7l 或 0.9.7m 编译 M2Crypto,它工作得很好。
有什么建议吗?
Importing M2Crypto version 0.20.2 on python 2.6.5 fails when M2Crypto was compiled against a recent openssl versions (0.9.8x or higher) on MAC OS X 10.4.11:
Even though the compilation works against these openssl version, M2Crypto fails to import, because a missing symbol: _PEM_read_bio_EC_PUBKEY
Python 2.6.5 (r265:79359, Mar 24 2010, 01:32:55)
[GCC 4.0.1 (Apple Inc. build 5493)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
import M2Crypto
Traceback (most recent call last):
File "", line 1, in
File "M2Crypto/init.py", line 22, in
import _m2crypto
ImportError: dlopen(M2Crypto/_m2crypto.so, 2): Symbol not found: _PEM_read_bio_EC_PUBKEY
Referenced from: M2Crypto/__m2crypto.so
Expected in: dynamic lookup
If I compile M2Crypto against openssl version 0.9.7l or 0.9.7m it works just fine.
Any suggestion?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我没有 10.4.11,但我有 10.5.8,带有 Python 2.6.5 和 OpenSSL 0.9.8n,一切正常。请尝试使用最新的 M2Crypto。如果这不起作用,请尝试自己获取并编译 OpenSSL 并配置 M2Crypto 以使用它。也许您当前的 OpenSSL 有问题。
I don't have 10.4.11, but I do have 10.5.8 with Python 2.6.5 and OpenSSL 0.9.8n and everything works without a problem. Please try with latest M2Crypto. If that does not work, try getting and compiling OpenSSL yourself and configuring M2Crypto to use that. Maybe something is wrong with your current OpenSSL.