1

pgmagickCentOS 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

私もインストールを試みましboost141たがboost141-develboost141-pythonpgmagickはそれらのライブラリに対してビルドされません。

問題を修正する方法、または問題をさらに診断する方法についての提案はありますか?

4

3 に答える 3

1

バージョンの非互換性の問題のようです。boost-1.34を使用してみてください

于 2012-04-24T11:17:57.067 に答える
1

configureを実行したときは、次のように実行したと想定しています./configure --enable-shared=yes(パラメーターに注意してください)。あなたがそれをした場合(チュートリアルが言うように)、それが機能しないはずの理由はわかりません。そうしなかった場合、これは役立つかもしれません。

于 2012-04-28T14:35:46.013 に答える
1

これを機能させる唯一の方法は次のとおりです。

  • コンパイル済みのboostrpmをすべてシステムから削除します
  • コンパイル済みのGraphicsMagickrpmをすべてシステムから削除します
  • boost-1.49.0を使用して手動でコンパイルする./configure --prefix=/usr --enable-shared=yes
  • GraphicsMagick-1.3.14、、および経由GraphicsMagick-c++-1.3.14で再インストールGraphicsMagick-devel-1.3.14GraphicsMagick-c++-devel-1.3.14yum
  • pgmagickbitbucketからリポジトリのクローンを作成します
  • ディレクトリpython setup.py install内で再度実行するpgmagick
于 2012-04-30T09:35:56.693 に答える