ROS link issue: "No rule to make target vtk6.2"

550 Views Asked by At

I am trying to compile a ROS project, developed by me, which is giving me compilation issues only on an Ubuntu 16.04 Virtual Machine. (The default pc on which is usually built on is always an Ubuntu 16.04 distros, the only difference is that now I am on a VM).

One of the packages I am trying to build depends on

#include <pcl/visualization/pcl_visualizer.h>

which includes the dependency on vtk6.2.

I am quite sure that vtk6.2 is installed by default on Ubuntu 16.04 distros (or I have installed it previously but I don't remember). Indeed, if I execute the following command on a terminal

$ locate vtk-6.2

The resulting output is a wall of text containing all the files included in:

  • /usr/include/vtk-6.2/**
  • /usr/bin/**
  • /usr/lib/cmake/vtk-6.2/**
  • /usr/lib/python2.7/dist-packages/vtk/**
  • /usr/lib/tcltk/vtk-6.2/**
  • /usr/lib/x86_64-linux-gnu/libvtk*
  • /usr/share/vtk-6.2/**

Thus, it seems the dependencies are already present and ready to use since they are installed on the right path.

Unfortunately, when I try to compile with catkin_make -j1 the output prompt the following error:

make[2]: *** No rule to make target '/usr/lib/x86_64-linux-gnu/libvtkproj4-6.2.so.6.2.0', needed by '...'.  Stop.
CMakeFiles/Makefile2:14528: recipe for target '...' failed

Any help is really appreciated.

1

There are 1 best solutions below

0
On

Just to relink, use libvtkCommonCore-6.2.so, as follow:

> sudo ln -s /usr/lib/x86_64-linux-gnu/libvtkCommonCore-6.2.so /usr/lib/x86_64-linux-gnu/libvtkproj4-6.2.so.6.2.0

> sudo ln -s /usr/lib/x86_64-linux-gnu/libvtkproj4-6.2.so.6.2.0 /usr/lib/x86_64-linux-gnu/libvtkproj4-6.2.so.6.2

> sudo ln -s /usr/lib/x86_64-linux-gnu/libvtkproj4-6.2.so.6.2 /usr/lib/x86_64-linux-gnu/libvtkproj4-6.2.so