Created by: tensor-tang
mkl动态库的问题,引出了一系列的issue,目前没有很好的办法。 我还是觉得我有必要来改改,目前觉得从一定程度上解决了一部分,也拿出来想听听大家的意见。
先Thanks @Xreki @luotao1 的帮助。
我试着把mkl的so文件放入了whl,并且安装whl之后手动删掉了mkl的动态库。
再在Python安装目录下,ldd了core
.so和_swig_paddle.so
发现都能正确的找到所有依赖了,因为就放在了相同目录。
ldd /usr/lib/python2.7/site-packages/py_paddle/_swig_paddle.so linux-vdso.so.1 => (0x00007ffdb07c1000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fa05949d000) libdl.so.2 => /lib64/libdl.so.2 (0x00007fa059298000) libmklml_intel.so (0x00007fa051775000) libpython2.7.so.1.0 => /lib64/libpython2.7.so.1.0 (0x00007fa0513aa000) libiomp5.so (0x00007fa051006000) libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007fa050c84000) libm.so.6 => /lib64/libm.so.6 (0x00007fa050982000) libgomp.so.1 => /lib64/libgomp.so.1 (0x00007fa05076a000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fa050554000) libc.so.6 => /lib64/libc.so.6 (0x00007fa050192000) /lib64/ld-linux-x86-64.so.2 (0x00007fa05a0ef000) libutil.so.1 => /lib64/libutil.so.1 (0x00007fa04ff8e000)
ldd /usr/lib/python2.7/site-packages/paddle/v2/framework/core.so linux-vdso.so.1 => (0x00007ffe299e6000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f3dce897000) libpython2.7.so.1.0 => /lib64/libpython2.7.so.1.0 (0x00007f3dce4cb000) libmklml_intel.so (0x00007f3dc69a8000) libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f3dc6626000) libm.so.6 => /lib64/libm.so.6 (0x00007f3dc6323000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f3dc610d000) libc.so.6 => /lib64/libc.so.6 (0x00007f3dc5d4b000) /lib64/ld-linux-x86-64.so.2 (0x00007f3dcef9d000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f3dc5b46000) libutil.so.1 => /lib64/libutil.so.1 (0x00007f3dc5943000) libiomp5.so (0x00007f3dc55a0000)
同时我尝试import 了paddle.v2 ,发现可以正常import,没有出现找不到动态库的问题,所以我认为是不是#3332 (closed) 的case是不是就可以没问题了。不知道 @QiJune 可不可以在你的环境里面试下?
但是仍然有一个问题就是在import py_paddle的时候,还是会出现#3213 (closed) 的问题。奇怪的ldd都是能找到了,这一点目前我没有好的办法,我猜是在不是跟py写法有关系?因为core.so的情况都可以load正确,估计是哪个地方我没有注意到的?
Thanks,欢迎大家comment。