Как я могу предотвратить обновление доморощенного VTK-зависимости для PCL?

Я хотел бы установить формулу pcl через homebrew, которая задокументирована здесь: http://www.pointclouds.org/documentation/tutorials/installing_homebrew.php

К сожалению, homebrew решает, что ему необходимо обновить мою установку 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 будет компилироваться нормально, я не хочу обновляться, так что кто-нибудь знает, как предотвратить обновление доморощенного до зависимой формулы?


person Chris    schedule 29.10.2013    source источник


Ответы (3)


На самом деле в Homebrew теперь есть формула для vtk5 отдельно, так что теперь это должен быть правильный способ ее установки (в настоящее время это 5.10.1).

brew install vtk5 --with-qt

Вам также нужны eigen, flann, qhull и boost. Также полезно, но необязательно получать 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 завершится ошибкой. Установка VTK с X11 кажется здесь рецептом катастрофы, мне пришлось вручную устанавливать libX11, libXt и другие, потому что VTK пытался включить неправильные заголовки. Проблемы продолжались с OpenGL, и я не смог скомпилировать более 42%. Я переустановил vtk5 без --with-x11 и он полностью скомпилировался.

Существует формула PCL для Homebrew, но она редко обновляется, и мне не очень повезло с ее редактированием (недостаточно знаком с синтаксисом Brew). Я попытался обновить его и отправить запрос на вытягивание, но когда дело дошло до тестирования фактической «стабильной» сборки, в данный момент произошел сбой, поэтому в этом нет смысла.

РЕДАКТИРОВАТЬ: Для ясности, установка архива 1.7.1 не удалась из-за какой-то проблемы с Eigen (около 12% при компиляции pcl_search).

Предлагаемый запрос на вытягивание, на данный момент это исправление только HEAD. https://github.com/ros/homebrew-hydro/pull/7

person Josh    schedule 22.11.2013

Вы можете обмануть 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 делает свою работу.

person Carlos Cordoba    schedule 29.10.2013
comment
спасибо, кажется, это хорошее временное решение. к сожалению, получается, что формула pcl давно не обновлялась и даже не получается скачать исходник... - person Chris; 30.10.2013
comment
Жаль это слышать. Вы можете отредактировать формулу с помощью brew edit pcl, чтобы указать правильный исходный файл. - person Carlos Cordoba; 31.10.2013

Просто откатитесь на предыдущую версию.

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
person Artem Lenskiy    schedule 30.10.2013