[cctbxbb] Debian Package

Radostan Riedel raybuntu at googlemail.com
Thu Aug 9 10:05:16 PDT 2012


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'



More information about the cctbxbb mailing list