Linux共享库依赖解析

时间:2014-07-10 15:19:48

标签: linux python-2.7 ubuntu shared-libraries

情景:

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

  1. 在Ubuntu 12.04.4(gcc 4.6.3)

    程序以segfault结束,回溯显示libssl.so .0.9.8从libcrypto.so .1.0.1调用了一个函数。

  2. 在Ubuntu 14.04(gcc 4.8.x)

    程序表现正常。

  3. 到目前为止,我对Ubuntu 12.04上的问题的解决方法是从源代码手动编译python并强制它与openssl-0.9.8链接。

    为什么分辨率在Ubuntu 14.04上正常运行?并且,它适用于12.04吗?

0 个答案:

没有答案