pcl 1.7.2 make errors

A dependency was removed accidentally

Several weeks ago, a dependency was removed by apt remove libc6. After I reinstalled ROS, everything seems to work well.

But when compiling PCL, some share lib may be removed with the previous dependency.

So error occured:

~/Downloads/nozuonodie/pcl-pcl-1.7.2/build$ make -j4
[  1%] Built target pcl_pcd_convert_NaN_nan
[  1%] Built target pcl_io_ply
[  1%] Built target pcl_octree
[  1%] Built target pcl_people
[  2%] Built target pcl_plyheader
[  5%] Built target pcl_common
[  5%] Built target pcl_ply2raw
[  6%] Built target pcl_ply2obj
[  7%] Built target pcl_ply2ply
[  7%] Built target pcl_kdtree
[  8%] Built target pcl_search
[ 11%] Built target pcl_sample_consensus
make[2]: *** No rule to make target '/usr/lib/x86_64-linux-gnu/libpcap.so', needed by 'lib/libpcl_io.so.1.7.2'.  Stop.
CMakeFiles/Makefile2:402: recipe for target 'io/CMakeFiles/pcl_io.dir/all' failed
make[1]: *** [io/CMakeFiles/pcl_io.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 16%] Built target pcl_surface
[ 23%] Built target pcl_filters
Makefile:160: recipe for target 'all' failed
make: *** [all] Error 2

Problem solved

Since just some lib missing, it is easy to solve the problem by download the file to where they belong to.

In my machine missing files

~$ locate libpcap
/snap/core/8268/usr/lib/x86_64-linux-gnu/libpcap.so.0.8
/snap/core/8268/usr/lib/x86_64-linux-gnu/libpcap.so.1.7.4
/snap/core/8268/usr/share/doc/libpcap0.8
/snap/core/8268/usr/share/doc/libpcap0.8/changelog.Debian.gz
/snap/core/8268/usr/share/doc/libpcap0.8/copyright.gz
/usr/lib/x86_64-linux-gnu/libpcap.so.0.8
/usr/lib/x86_64-linux-gnu/libpcap.so.1.7.4
/usr/share/doc/libpcap0.8
/usr/share/doc/libpcap0.8/CREDITS.gz
/usr/share/doc/libpcap0.8/README
/usr/share/doc/libpcap0.8/README.Debian
/usr/share/doc/libpcap0.8/changelog.Debian.gz
/usr/share/doc/libpcap0.8/copyright
/var/lib/dpkg/info/libpcap0.8:amd64.list
/var/lib/dpkg/info/libpcap0.8:amd64.md5sums
/var/lib/dpkg/info/libpcap0.8:amd64.shlibs
/var/lib/dpkg/info/libpcap0.8:amd64.symbols
/var/lib/dpkg/info/libpcap0.8:amd64.triggers

In another usual computer

~$ locate libpcap
/usr/lib/x86_64-linux-gnu/libpcap.a
/usr/lib/x86_64-linux-gnu/libpcap.so
/usr/lib/x86_64-linux-gnu/libpcap.so.0.8
/usr/lib/x86_64-linux-gnu/libpcap.so.1.7.4
/usr/share/doc/libpcap0.8
/usr/share/doc/libpcap0.8-dev
/usr/share/doc/libpcap0.8/CREDITS.gz
/usr/share/doc/libpcap0.8/README
/usr/share/doc/libpcap0.8/README.Debian
/usr/share/doc/libpcap0.8/changelog.Debian.gz
/usr/share/doc/libpcap0.8/copyright
/usr/share/doc/libpcap0.8-dev/changelog.Debian.gz
/usr/share/doc/libpcap0.8-dev/copyright
/var/lib/dpkg/info/libpcap0.8-dev.list
/var/lib/dpkg/info/libpcap0.8-dev.md5sums
/var/lib/dpkg/info/libpcap0.8-dev.preinst
/var/lib/dpkg/info/libpcap0.8:amd64.list
/var/lib/dpkg/info/libpcap0.8:amd64.md5sums
/var/lib/dpkg/info/libpcap0.8:amd64.shlibs
/var/lib/dpkg/info/libpcap0.8:amd64.symbols
/var/lib/dpkg/info/libpcap0.8:amd64.triggers

Focus on the lib, which means we need is some file has .a or .so.

/usr/lib/x86_64-linux-gnu/libpcap.a
/usr/lib/x86_64-linux-gnu/libpcap.so

Download the libpacp.a and libpcap.so. Copy them to the directory

sudo cp ~/Downloads/libpcap.a /usr/lib/x86_64-linux-gnu/
sudo cp ~/Downloads/libpcap.so /usr/lib/x86_64-linux-gnu/

猜你喜欢

转载自www.cnblogs.com/williamc17/p/12100570.html
pcl