Вопрос по инструкции по установке 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 и установите ее.

Надеюсь это поможет

Другие вопросы по тегам