In following instructions for pcl install:
How to install Point Cloud Library v1.8 (pcl-1.8.0) on Ubuntu 16.04.2 [LTS] for C++?
why after:
sudo apt-mark hold libeigen3-dev
is there not
sudo apt-mark unhold libeigen3-dev
In following instructions for pcl install:
How to install Point Cloud Library v1.8 (pcl-1.8.0) on Ubuntu 16.04.2 [LTS] for C++?
why after:
sudo apt-mark hold libeigen3-dev
is there not
sudo apt-mark unhold libeigen3-dev
From
man apt-mark
So, the
pcl v1.8
app you are trying to install probably needs a specific version3.2.5-4
of thelibeigen3-dev
. This is called dependency. However, Ubuntu 16.04 probably uses a different version of the same file which probably does not work forpcl
.The
hold
tells Ubuntu not to update thelibeigen3-dev
you have installed specifically forpcl v1.8
. After you run the command:Ubuntu will remember not to update this specific file.
If you use the
unhold
option then the special version oflibeigen3-dev
that works withpcl v1.8
will be replaced by the version that does not work withpcl v.1.8
.Note, as the installation guide implies, this issue is resolved in newer version
pcl v1.8.1
and Ubnutu 17.10, as there is noapt-mark hold
command needed for these versions.It is possible that the
libeigen3-dev
(version 3.3.4-4) in the current version of Ubuntu 16.04 also does not suffer from this problem. If so, you may use theapt-mark unhold
to let Ubuntu update this file.If
pcl
breaks, then repeat the 4 lines of instructions including theapt-mark hold
:This will download the
pcl
compatible version of libeigen3-dev again and install it.Hope this helps