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.

Reply via email to