情景:
python --> python-openssl --> libssl.so.1.0.1 --> libcrypto.so.1.0.1
myapp.py --> myExt.so --> XXXlib.so --> libssl.so.0.9.8 --> libcrypto.so.0.9.8
通过ldd
验证以上依赖关系。
当我执行python myapp.py
在Ubuntu 12.04.4(gcc 4.6.3)
上程序以segfault结束,回溯显示libssl.so .0.9.8
从libcrypto.so .1.0.1
调用了一个函数。
在Ubuntu 14.04(gcc 4.8.x)
上程序表现正常。
到目前为止,我对Ubuntu 12.04上的问题的解决方法是从源代码手动编译python并强制它与openssl-0.9.8链接。
为什么分辨率在Ubuntu 14.04上正常运行?并且,它适用于12.04吗?