【问题标题】:Issue with Dionysus Build/make on Mac OS X 10.10 yosemiteMac OS X 10.10 yosemite 上的 Dionysus Build/make 问题
【发布时间】:2015-09-04 18:40:11
【问题描述】:

我按照说明从http://www.mrzv.org/software/dionysus/get-build-install.html 制作/构建狄俄尼索斯

从一无所有的全新电脑, 我使用 port 来安装 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
  • 我在尝试为 mac 构建 rtabmap 时遇到了同样的问题。 @Deviacium 的回答对我有用。

标签: python c++ macos serialization boost


【解决方案1】:

刚刚偶然发现了同样的问题。也使用 OSX 10.10。几天在 macports 和 brew 之间切换和操作库,但没有成功......

今天终于用这种方式用 boost 编译了狄俄尼索斯:

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

但必须看看整个库树(boost、cgal、swig、cgal-swig-bindings、dionysus)是否构建良好..

【讨论】:

  • 您是如何得出第 155 版特别适用的结论的?我很好奇,以便下次我可以自己找出解决此类问题的方法。 +1 的工作答案。另外,最后一步我必须使用brew link --force boost155。 #osx10.11.3
  • 大约在那个时候我知道原因......现在我不记得了。可能是 cgal 或 dionysus 中的依赖搜索 - 它找不到最新的提升...或类似的东西.. 一个很好的提醒,为未来写更深入的解释 =)
【解决方案2】:

我遇到了类似的问题。我只是删除了显式命名空间(在 stack_constructor.hpp 中):

load_construct_data_adl

而不是

boost::serialization::load_construct_data_adl

这解决了我的错误。

【讨论】: