1

pgmagick尝试在 CentOS 5.6 上构建时,我没有取得太大的成功。

我通过以下方式安装了以下内容yum

boost-1.33.1
boost-devel-1.33.1
GraphicsMagick-1.3.14
GraphicsMagick-c++-1.3.14
GraphicsMagick-devel-1.3.14
GraphicsMagick-c++-devel-1.3.14
python-2.6.5
python-devel-2.6.5

但是,每当我尝试构建时,都会pgmagick出现以下错误:

/usr/include/boost/python/converter/registered.hpp: In instantiation of ‘const boost::python::converter::registration& boost::python::converter::detail::registered_base<const volatile void>::converters’:
/usr/include/boost/python/converter/arg_from_python.hpp:269:   instantiated from ‘boost::python::converter::pointer_arg_from_python<T>::pointer_arg_from_python(PyObject*) [with T = void*]’
/usr/include/boost/python/arg_from_python.hpp:70:   instantiated from ‘boost::python::arg_from_python<T>::arg_from_python(PyObject*) [with T = void*]’
/usr/include/boost/preprocessor/iteration/detail/local.hpp:37:   instantiated from ‘PyObject* boost::python::detail::caller_arity<3u>::impl<F, Policies, Sig>::operator()(PyObject*, PyObject*) [with F = void (*)(Magick::Blob&, void*, long unsigned int), Policies = boost::python::default_call_policies, Sig = boost::mpl::vector4<void, Magick::Blob&, void*, long unsigned int>]’
/usr/include/boost/python/object/py_function.hpp:38:   instantiated from ‘PyObject* boost::python::objects::caller_py_function_impl<Caller>::operator()(PyObject*, PyObject*) [with Caller = boost::python::detail::caller<void (*)(Magick::Blob&, void*, long unsigned int), boost::python::default_call_policies, boost::mpl::vector4<void, Magick::Blob&, void*, long unsigned int> >]’
./src/_Blob.cpp:43:   instantiated from here
/usr/include/boost/python/converter/registered.hpp:88: error: no matching function for call to ‘registry_lookup(const volatile void (*)())’
error: command 'gcc' failed with exit status 1

我也尝试过安装boost141boost141-develboost141-pythonpgmagick 不会针对这些库进行构建。

关于如何解决问题或进一步诊断问题的任何建议?

4

3 回答 3

1

事实证明,让这个工作的唯一方法是:

  • 从系统中删除所有预编译的boostrpm
  • 从系统中删除所有预编译的GraphicsMagickrpm
  • boost-1.49.0手动编译,使用./configure --prefix=/usr --enable-shared=yes
  • 重新安装GraphicsMagick-1.3.14,GraphicsMagick-c++-1.3.14GraphicsMagick-devel-1.3.14viaGraphicsMagick-c++-devel-1.3.14yum
  • pgmagick从 bitbucket克隆存储库
  • 在目录中python setup.py install再次运行pgmagick
于 2012-04-30T09:35:56.693 回答
1

当您运行配置时,我假设您将其执行为./configure --enable-shared=yes(注意参数)。如果你这样做了(就像教程所说的那样),我看不出它不应该工作的原因。如果你没有,这可能会有所帮助。

于 2012-04-28T14:35:46.013 回答
1

好像是版本不兼容的问题,试试boost-1.34

于 2012-04-24T11:17:57.067 回答