在Mac OS X 10.10 Yosemite上构建/制作Dionysus时出现问题

3
我按照http://www.mrzv.org/software/dionysus/get-build-install.html上的指示进行了Dionysus的制作/构建。从一台全新的电脑开始,我使用端口安装了Python27、CMake、Boost、Mercurial和其他几个软件包。然后在终端中执行以下命令:
hg clone http://hg.mrzv.org/Dionysus/
cd Dionysus
hg up tip
mkdir build
cd build
cmake ..
make

终端通过make运行时出现以下错误:
  [  1%] Built target bottleneck-distance
  [  3%] Building CXX object  
 examples/alphashapes/CMakeFiles/alphashapes2d.dir/alphashapes2d.o
 In file included from   
/Users/pavan/Desktop/Dionysus/examples/alphashapes/alphashapes2d.cpp:3:
In file included from   
/Users/pavan/Desktop/Dionysus/examples/alphashapes/alphashapes2d.h:12:
In file included from   
/Users/pavan/Desktop/Dionysus/include/topology/simplex.h:221:

In file included from   
/Users/pavan/Desktop/Dionysus/include/topology/simplex.hpp:2:

In file included from /opt/local/include/boost/serialization/set.hpp:26: 

/opt/local/include/boost/serialization/detail/stack_constructor.hpp:54:31:     error: 
  no member named 'load_construct_data_adl' in namespace
  'boost::serialization'
    boost::serialization::load_construct_data_adl(
    ~~~~~~~~~~~~~~~~~~~~~~^
1 error generated.
make[2]: ***         [examples/alphashapes/CMakeFiles/alphashapes2d.dir/alphashapes2d.o] 
Error 1
make[1]: *** [examples/alphashapes/CMakeFiles/alphashapes2d.dir/all] 
Error 2
make: *** [all] Error 2

到目前为止,我已经尝试了我所能想到的一切,重新安装了所有boost和python依赖项(从全新的出厂重置计算机开始)。当涉及到任何C相关的东西时,我完全是个新手,因此非常感谢任何指针。

另外,我在我的Ubuntu电脑上尝试了完全相同的安装,并且它成功了,因此我想知道端口安装功能是否会产生一些问题?


你正在使用哪个版本的 boost - konus
我在尝试为Mac构建rtabmap时遇到了同样的问题。@Deviacium的答案对我有用。 - Jacksonkr
2个回答

1

我刚刚遇到了同样的问题。我也在使用OSX 10.10。几天来一直在macports和brew之间切换和操作库,但都没有成功...

今天,我最终通过以下方式使用boost编译了Dionysus:

brew unlink boost
brew tap homebrew/versions
brew install boost155
brew link boost155

但还需要看整个库树(boost、cgal、swig、cgal-swig-bindings、dionysus)是否能够成功构建。


你是怎么得出版本号155特别适用的结论的?我很好奇,这样我下次就能自己解决这种问题了。谢谢你的有效回答。另外,在最后一步我不得不使用“brew link --force boost155”命令。#osx10.11.3 - Jacksonkr
那个时候我知道原因是什么... 现在我并不完全记得了。可能与cgal或dionysus中的依赖搜索有关——它无法找到最新的boost... 或者类似的原因。这是一个很好的提示,以后要写更深入的解释=) - Deviacium

1

我有类似的问题。我只是移除了stack_constructor.hpp中的显式命名空间:

load_construct_data_adl

替代

boost::serialization::load_construct_data_adl

这解决了我的问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接