Вопрос по инструкции по установке 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 и установите ее.
Надеюсь это поможет