Python M2crypto错误

1 投票
1 回答
1343 浏览
提问于 2025-04-16 07:46

我正在尝试在一个跨平台的环境(ARM)上构建 crda 代理模块。为了完成这个任务,我需要一个输入模块,就是 m2crypto 的共享对象文件。我已经成功地进行了交叉编译,并生成了 m2crypto.so 文件。

当我输入 make 命令时,内部会调用一个 Python 脚本,这个脚本应该以 m2crypto.so 模块作为输入,并生成 openssl(RSA)密钥。

我遇到的问题是,这个 Python 脚本无法从 __m2crypto.so 文件中导入任何模块。我使用的是 Python 2.4 版本。出现的错误是:

$ make

GEN keys-ssl.c
Trusted pubkeys: /home/tools/crda/pubkeys/linville.key.pub.pem
Traceback (most recent call last):
File "./utils/key2pub.py", line 6, in ?
import m2crypto
ImportError: /usr/lib/python2.4/lib-dynload/m2crypto.so: cannot open shared object file: No such file or directory
make: *** [keys-ssl.c] Error 1

而当我在主机机器(x86 平台)上编译 m2crypto 并尝试为同样的环境构建 crda 时,Python 能够成功导入 m2crypto.so 文件。

有没有什么建议可以帮助我在不同的平台(ARM)上成功构建呢?

提前感谢,
Rams ch

1 个回答

0

这个问题已经有一段时间了 ;-)

最近几天我也遇到了同样的问题。也许解决我问题的方法对看到这个问题的其他人也有帮助。我当时使用了一个来自openwrt的补丁:

101-make_crypto_use_optional.patch

这个补丁去掉了crda中的加密设置。对我来说,这样做是可以的……

撰写回答