Macos 如何防止homebrew升级PCL的VTK依赖项?
我想通过自制软件安装Macos 如何防止homebrew升级PCL的VTK依赖项?,macos,homebrew,vtk,point-cloud-library,Macos,Homebrew,Vtk,Point Cloud Library,我想通过自制软件安装pcl公式,这里有文档记录: 不幸的是,homebrew决定需要将我的VTK安装升级到最新版本(6.0),即使我已经安装了一个完美工作的版本(5.10.1)。我想编译和链接这个现有版本。(用于pcl的最小VTK版本被列为5.6.1,所以一切都应该可以正常工作。我实际上手动构建了pcl,并尝试将其与VTK 6.0相链接,VTK 6.0甚至还不起作用。) 因此,我的问题是,为什么homebrew要尝试升级VTK(到不兼容的版本),以及如何防止它这样做 我所呼叫的是:brew安装
pcl
公式,这里有文档记录:
不幸的是,homebrew决定需要将我的VTK
安装升级到最新版本(6.0),即使我已经安装了一个完美工作的版本(5.10.1)。我想编译和链接这个现有版本。(用于pcl
的最小VTK
版本被列为5.6.1,所以一切都应该可以正常工作。我实际上手动构建了pcl
,并尝试将其与VTK 6.0相链接,VTK 6.0甚至还不起作用。)
因此,我的问题是,为什么homebrew要尝试升级VTK(到不兼容的版本),以及如何防止它这样做
我所呼叫的是:brew安装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下编译
要明确的是,即使VTK 6.0可以很好地编译,我也不想升级,所以有人知道如何阻止homebrew升级从属公式吗?你可以欺骗homebrew,让它认为它安装了VTK 6.0。为此,必须在终端中运行此命令
ln-s/usr/local/Cellar/vtk/5.10.1/usr/local/Cellar/vtk/6.0.0
当您真正想要更新vtk的时候,只需使用
rm/usr/local/Cell/vtk/6.0.0
让自制软件完成它的工作。你可以欺骗自制软件,让它认为它安装了Vtk 6.0。为此,必须在终端中运行此命令
ln-s/usr/local/Cellar/vtk/5.10.1/usr/local/Cellar/vtk/6.0.0
当您真正想要更新vtk的时候,只需使用
rm/usr/local/Cell/vtk/6.0.0
让自制完成它的工作。只需降级到以前的版本
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
只需降级到以前的版本
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
实际上,Homebrew现在有一个单独的vtk5公式,所以这应该是正确的安装方式(目前是5.10.1) 您还需要
eigen、flann、qhull
和boost
。同样有用,但如果需要文档,可选择通过pip安装sphinx
获取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,但没有使用——使用-x11
,它已完全编译
有一个用于自制的PCL公式,但它很少更新,我编辑它的运气也不太好(对Brew的语法不够熟悉)。我试图更新它并提交一个拉请求,但当涉及到测试实际的“稳定”构建时,此时失败了,所以没有意义
编辑:需要说明的是,安装1.7.1 tarball失败是因为Egeng出现了一些问题(编译pcl_搜索时大约有12%)
提议的拉动请求,目前仅限于头部固定。
现在,自制软件实际上已经为vtk5单独提供了一个公式,因此这应该是正确的安装方式(目前是5.10.1) 您还需要
eigen、flann、qhull
和boost
。同样有用,但如果需要文档,可选择通过pip安装sphinx
获取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,但没有使用——使用-x11
,它已完全编译
有一个用于自制的PCL公式,但它很少更新,我编辑它的运气也不太好(对Brew的语法不够熟悉)。我试图更新它并提交一个拉请求,但当涉及到测试实际的“稳定”构建时,此时失败了,所以没有意义
编辑:需要说明的是,安装1.7.1 tarball失败是因为Egeng出现了一些问题(编译pcl_搜索时大约有12%)
提议的拉动请求,目前仅限于头部固定。
谢谢,这似乎是一个很好的临时解决方案。不幸的是,事实证明pcl公式已经有一段时间没有更新了,甚至无法下载源代码…很遗憾听到这个消息。您可以使用
brew edit pcl
编辑公式以指向正确的源文件。谢谢,这似乎是一个很好的临时解决方案。不幸的是,事实证明pcl公式已经有一段时间没有更新了,甚至无法下载源代码…很遗憾听到这个消息。您可以使用brew edit pcl
编辑公式,以指向正确的源文件。