On Thu, 09. Aug 18:50, justin wrote:
# scanelf -n /usr/lib64/libboost_python-2.7.so .... And on gentoo as well as on all other distros which support multiple python ABIs to be installed, we need to ensure that the correct soname is recorded so that the correct python ABI version of libboost_python is loaded. I took libboost_python as role model for libscitbx_boost_python. In debian we support multiple python ABIs too. libboost_python looks like this:
-rw-r--r-- 1 root root 666280 Jan 6 2012 /usr/lib/libboost_python-py27.a lrwxrwxrwx 1 root root 30 Jan 6 2012 /usr/lib/libboost_python-py27.so -> libboost_python-py27.so.1.48.0 -rw-r--r-- 1 root root 315264 Jan 6 2012 /usr/lib/libboost_python-py27.so.1.48.0 -rw-r--r-- 1 root root 659542 Jan 6 2012 /usr/lib/libboost_python-py32.a lrwxrwxrwx 1 root root 30 Jan 6 2012 /usr/lib/libboost_python-py32.so -> libboost_python-py32.so.1.48.0 -rw-r--r-- 1 root root 311136 Jan 6 2012 /usr/lib/libboost_python-py32.so.1.48.0 lrwxrwxrwx 1 root root 23 Jul 19 16:26 /usr/lib/libboost_python.so -> libboost_python-py27.so And when we build libscitbx_boost_python it builds all supported libscitbx_boost_python-py**.so* I try to detect this in my patch to use system libs and apply the python string. But seeing that gentoo is using a different python string makes me realize that I need to rework that patch a little bit. Right now it's done like this: env_etc.py_str = '-py%s%s'%(sys.version[0], sys.version[2]) ... if env_etc.check_syslib('boost_python%s'%env_etc.py_str, extra_libs=env_etc.py_lib): env_etc.boost_python = 'boost_python%s'%env_etc.py_str env_etc.scitbx_boost_python = 'scitbx_boost_python%s'%env_etc.py_str else: env_etc.boost_python = 'boost_python' env_etc.scitbx_boost_python = 'scitbx_boost_python'