В следовании инструкциям для установки pcl:
Как установить Библиотеку Облака точек v1.8 (pcl-1.8.0) на Ubuntu 16.04.2 [LTS] для C++?
почему после:
sudo apt-mark hold libeigen3-dev
есть ли нет
sudo apt-mark unhold libeigen3-dev
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
и Ubnutu 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 снова и установки это.
Надеюсь, это поможет