Вопрос по инструкции по установке Point Cloud Library (pcl) на Ubuntu 16.04
В следующих инструкциях по установке pcl:
Как установить Point Cloud Library v1.8 (pcl-1.8.0) в Ubuntu 16.04.2 [LTS] для C++?
почему после:
sudo apt-mark hold libeigen3-dev
там нет
sudo apt-mark unhold libeigen3-dev
1 ответ
От man apt-mark
ПРЕДОТВРАЩЕНИЕ ИЗМЕНЕНИЙ ДЛЯ ПАКЕТА
держать
hold is used to mark a package as held back, which will prevent the package from being automatically installed, upgraded or removed.
Возврат
unhold is used to cancel a previously set hold on a package to allow all actions again.
Итак pcl v1.8
приложение, которое вы пытаетесь установить, вероятно, нуждается в определенной версии 3.2.5-4
из libeigen3-dev
, Это называется зависимостью. Тем не менее, Ubuntu 16.04, вероятно, использует другую версию того же файла, который, вероятно, не работает для pcl
,
hold
говорит Ubuntu не обновлять libeigen3-dev
вы установили специально для pcl v1.8
, После запуска команды:
sudo apt-mark hold libeigen3-dev
Ubuntu помнит, чтобы не обновлять этот конкретный файл.
Если вы используете unhold
вариант, то специальная версия libeigen3-dev
это работает с pcl v1.8
будет заменена версией, которая не работает с pcl v.1.8
,
Обратите внимание, как следует из руководства по установке, эта проблема решена в более новой версии pcl v1.8.1
а убнуту 17.10, как нет apt-mark hold
Команда необходима для этих версий.
Возможно, что libeigen3-dev
(версия 3.3.4-4) в текущей версии Ubuntu 16.04 также не страдает от этой проблемы. Если это так, вы можете использовать apt-mark unhold
чтобы позволить Ubuntu обновить этот файл.
Если pcl
перерывы, затем повторите 4 строки инструкций, включая apt-mark hold
:
cd ~/Downloads
wget http://launchpadlibrarian.net/209530212/libeigen3-dev_3.2.5-4_all.deb
sudo dpkg -i libeigen3-dev_3.2.5-4_all.deb
sudo apt-mark hold libeigen3-dev
Это загрузит pcl
снова совместимую версию libeigen3-dev и установите ее.
Надеюсь это поможет