libboost-python3 appears to be built against Python 2.x and is underlinked?
ldd of /usr/lib/libboost_python3.so.1.62.0 outputs 236 lines of:
Error relocating /usr/lib/libboost_python3.so.1.62.0:
PyNumber_InPlaceDivide: symbol not found
and similar errors.
LD_PRELOAD’ing libstdc reduces this to 139, trying to LD_PRELOAD libpython3 as well I’d expect to reduce the errors to 0, instead I’m left with:
/ # LD_PRELOAD=/usr/lib/libstdc++.so.6:/usr/lib/libpython3.so ldd /usr/lib/libboost_python3.so.1.62.0 2>&1
ldd (0x55620da01000)
/usr/lib/libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x7fecf5d29000)
/usr/lib/libpython3.so => /usr/lib/libpython3.so (0x7fecf5b27000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x7fecf5915000)
libc.musl-x86_64.so.1 => ldd (0x55620da01000)
libpython3.5m.so.1.0 => /usr/lib/libpython3.5m.so.1.0 (0x7fecf54a7000)
Error relocating /usr/lib/libboost_python3.so.1.62.0: PyInt_FromLong: symbol not found
Error relocating /usr/lib/libboost_python3.so.1.62.0: Py_InitModule4_64: symbol not found
Error relocating /usr/lib/libboost_python3.so.1.62.0: PyString_AsString: symbol not found
Error relocating /usr/lib/libboost_python3.so.1.62.0: PyString_InternFromString: symbol not found
Error relocating /usr/lib/libboost_python3.so.1.62.0: PyFile_AsFile: symbol not found
Error relocating /usr/lib/libboost_python3.so.1.62.0: PyString_FromString: symbol not found
Error relocating /usr/lib/libboost_python3.so.1.62.0: PyInt_Type: symbol not found
Error relocating /usr/lib/libboost_python3.so.1.62.0: PyString_Type: symbol not found
Error relocating /usr/lib/libboost_python3.so.1.62.0: PyClass_Type: symbol not found
Error relocating /usr/lib/libboost_python3.so.1.62.0: PyUnicodeUCS4_FromEncodedObject: symbol not found
Error relocating /usr/lib/libboost_python3.so.1.62.0: PyString_Size: symbol not found
Error relocating /usr/lib/libboost_python3.so.1.62.0: PyFile_FromString: symbol not found
Error relocating /usr/lib/libboost_python3.so.1.62.0: PyUnicodeUCS4_AsWideChar: symbol not found
Error relocating /usr/lib/libboost_python3.so.1.62.0: PyInt_AsLong: symbol not found
Error relocating /usr/lib/libboost_python3.so.1.62.0: PyString_FromStringAndSize: symbol not found
Error relocating /usr/lib/libboost_python3.so.1.62.0: PyNumber_InPlaceDivide: symbol not found
Error relocating /usr/lib/libboost_python3.so.1.62.0: PyNumber_Divide: symbol not found
Error relocating /usr/lib/libboost_python3.so.1.62.0: PyString_FromFormat: symbol not found
These look like Python2.x details (PyInt_AsLong for example, since int/long were unified in Python3)
Replacing libpython3 with libpython2.7.so.1.0 does reduce the errors to zero however:
/ # LD_PRELOAD=/usr/lib/libstdc++.so.6:/usr/lib/libpython2.7.so.1.0 ldd /usr/lib/libboost_python3.so.1.62.0 2>&1
ldd (0x5556aa5b5000)
/usr/lib/libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x7fe5d8b11000)
/usr/lib/libpython2.7.so.1.0 => /usr/lib/libpython2.7.so.1.0 (0x7fe5d876e000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x7fe5d855c000)
libc.musl-x86_64.so.1 => ldd (0x5556aa5b5000)
(from redmine: issue id 6874, created on 2017-02-16, closed on 2017-02-28)
- Relations:
- duplicates #6615 (closed)
- Changesets:
- Revision 93d06d45 by Natanael Copa on 2017-02-20T14:21:23Z:
main/boost: fix boost_python3
ref #6874
upstream: https://github.com/boostorg/build/issues/163
- Revision 3e6cf4c9 by Natanael Copa on 2017-02-20T16:48:23Z:
main/boost: fix boost_python3
fixes #6874
upstream: https://github.com/boostorg/build/issues/163