1

我想pcl通过自制软件安装公式,此处记录: http ://www.pointclouds.org/documentation/tutorials/installing_homebrew.php

不幸的是,自制程序决定它需要将我的VTK安装升级到最新版本(6.0),即使我已经安装了一个完美的工作版本(5.10.1)。我想针对这个现有版本进行编译和链接。(最低VTK版本pcl被列为 5.6.1,所以一切都应该正常。我实际上手动构建pcl并尝试将它与 VTK 6.0 链接,这甚至还不起作用。)

因此,我的问题是,为什么自制软件会尝试升级 VTK(到不兼容的版本),我该如何防止它这样做?

我要调用的是: brew install pcl,这会触发:

==> Installing pcl dependency: vtk
==> Downloading http://www.vtk.org/files/release/6.0/vtk-6.0.0.tar.gz
Already downloaded: /Library/Caches/Homebrew/vtk-6.0.0.tar.gz

这最终会导致错误,因为 vtk 6.0 在 Mac OS X 10.9 下无法通过 homebrew ( https://github.com/Homebrew/homebrew-science/issues/401 ) 编译。

需要明确的是,即使 VTK 6.0 可以正常编译,我也不想升级,所以有人知道如何防止自制程序升级依赖公式吗?

4

3 回答 3

2

你可以欺骗 Homebrew 以为它安装了 Vtk 6.0。为此,您必须在终端中运行此命令

ln -s /usr/local/Cellar/vtk/5.10.1 /usr/local/Cellar/vtk/6.0.0

当你真的想要更新 vtk 的时候,只需消除那个符号链接

rm /usr/local/Cellar/vtk/6.0.0

让 Homebrew 完成它的工作。

于 2013-10-29T17:39:31.970 回答
1

只需降级到以前的版本。

1) cd /usr/local/Library/Taps/homebrew-science/
2) brew versions vtk
3) git checkout 27a4327 vtk.rb
4) brew uninstall vtk && brew install vtk
于 2013-10-30T16:48:12.303 回答
1

Homebrew 实际上现在单独有一个 vtk5 的公式,所以这应该是现在安装它的正确方法(目前是 5.10.1)。

brew install vtk5 --with-qt

您还需要eigen, flann, qhullboost。如果您想要文档,也很有用,但可选的是sphinx通过。pip install sphinx如果你想建立模拟(见下面的选项),那么你也需要得到glew(虽然它不会找到标题)。

我可以验证这在 10.8 上是否有效,并将在今晚检查 10.9。我从存档安装 1.7.1 时遇到问题,但克隆 github 存储库对我有用。

$ git clone https://github.com/PointCloudLibrary/pcl pcl-trunk

$ cd pcl_trunk

$ mkdir build; cd build

$ cmake .. -DBUILD_global_tests=ON -DBUILD_examples=ON -DBUILD_simulations=ON

$ ./configure; make; make install

如果没有 VTK,您可以在 PCL 安装失败之前达到几个百分比。在这里用 X11 安装 VTK 似乎是一场灾难,我不得不手动安装 libX11、libXt 和其他,因为 VTK 试图包含不正确的标头。OpenGL 的问题继续存在,我无法编译超过 42%。我重新安装了 vtk5--with-x11并完全编译。

Homebrew 有一个 PCL 公式,但它很少更新,我没有太多运气编辑它(对 Brew 的语法不够熟悉)。我试图更新它并提交一个拉取请求,但是当它测试实际的“稳定”构建时,目前失败了,所以没有意义。

编辑:需要明确的是,安装 1.7.1 tarball 由于 Eigen 的一些问题而失败(编译 pcl_search 时大约 12%)。

提出的拉取请求,目前只是 HEAD 修复。 https://github.com/ros/homebrew-hydro/pull/7

于 2013-11-22T19:41:34.833 回答