[Python-modules-team] Bug#875610: python-pythonmagick: Undefined symbol in python2.7 PythonMagick.x86_64-linux-gnu.so
Dave Williams
dave at opensourcesolutions.co.uk
Thu Sep 14 14:48:19 UTC 2017
The undefined symbol is the reference to the constructor:
boost::python::objects::caller_py_function_impl<boost::python::detail::caller<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>
which seems to come from _Color.cpp which defines it using a template:
void Export_pyste_src_Color()
{
class_< Magick::Color >("Color", init< >())
.def(init< MagickCore::Quantum, MagickCore::Quantum, MagickCore::Quantum >())
.def(init< MagickCore::Quantum, MagickCore::Quantum, MagickCore::Quantum, MagickCore::Quantum >())
.def(init< const std::string& >())
.def(init< const char* >())
....
The error (as far as my system is concerned) occurred when migrating from python-pythonmagick:amd64 version 0.9.14-3+b1 to 0.9.17-1.
I cannot currently see any significant changes to libboost-python recently. This has stayed static on my system at 1.62.0 for some time having previously been 1.55.0 (which was the jessie default).
The autoconf rules only check for boostlib>1.20 so naturally passes.
I also note the compiler warnings when building include multiple unresolved references but these are seemingly to C API functiont like
PyObject * PyLong_FromUnsignedLong(unsigned long v)
that have not changed for a long time - so might (as the warning implies) be just a warning a potential issue and not part of this actual problem.
More information about the Python-modules-team
mailing list