规范重命名符号是否在其软件包版本的 openssl 中,如果是这样,目的是什么?当我从头开始编译 openssl-1.0.0e.tar.gz(直接从 openssl.org 下载)时,我看到了必要的符号,但 Python(和我)似乎无法在打包版本中找到它。
继续阅读以了解有关我如何诊断此问题的更多信息...
我正在尝试在 Ubuntu 11.10 上编译 Python 2.6.1,并得到上面的错误消息。我使用这个较旧的 Python 的原因是我试图让我的 Ubuntu 安装 100% 与用于开发目的的生产系统兼容。
表演时
strace -feopen make -j4 |& grep "libssl"
我看到我正在使用一个有前途的文件:
[pid 22614] open("/usr/lib/x86_64-linux-gnu//libssl.so", O_RDONLY) = 7
运行 nm,这个文件没有符号。但是 .a 文件确实有一个类似的文件:
0000000000000030 T SSLv23_method
软件包 libssl1.0.0-dbg 是通过 synaptic 安装的,但是当我列出该软件包的已安装文件时,我看到的只是“已安装文件的列表仅适用于已安装的软件包”,这显然是一个 Ubuntu 错误。所以我不确定我应该如何检查.so中存在哪些符号。
但是,我怀疑他们无论如何都将 SSLv2_method 重命名为 SSLv23_method。
如何继续找出 Ubuntu 的 openssl-1.0.0 的状态?