При использовании выскакивает: ImportError: /usr/lib64/libboost_python3.so.1.53.0: undefined symbol: PyUnicode_AsUTF8String $ findsym PyUnicode_AsUTF8String /usr/lib64/libpython3.3m.so: 00000000000e61e0 T PyUnicode_AsUTF8String /usr/lib64/libpython3.3m.so.1.0: 00000000000e61e0 T PyUnicode_AsUTF8String $ ldd /usr/lib64/libboost_python3.so.1.53.0 linux-vdso.so.1 (0x00007fff97089000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f543a042000) libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f5439d3e000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f5439b27000) libc.so.6 => /lib64/libc.so.6 (0x00007f5439778000) /lib64/ld-linux-x86-64.so.2 (0x00007f543a4b2000) libm.so.6 => /lib64/libm.so.6 (0x00007f543947a000)
Boost.Python специально не линкуется с libpythonX.Y.so. Сделано это для того чтобы модули, собранные с ней, можно было использовать в приложениях, которые берут питоновский рантайм откуда-то ещё. Например, наш /usr/bin/python3 собран не с этой либой, а статически; то есть, если libboost_python собрать с libpythonX.Y.so, она притянется внутрь процесса, где она совершенно не нужна, с непредсказуемыми последствиями. To sum up: this is not a bug, this is a feature, and important one. Программы, которые хотят исползовать питон, но не его интерпретатор, всё равно должны линковаться с нужной libpython явно. Модули же с ней линковать не надо, и даже опасно.