ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
3

ubuntu 16.04 Kinetic update. no rule to make target libvtkproj

asked 2020-12-02 05:58:07 -0600

Bernat Gaston gravatar image

Hi,

I had my code working. Today I installed the update recommended by Ubuntu which contained some ros-kinetik packages (to be hones I did not checked all of them) Now, I have a compilation problem.

[ 85%] Built target ar_navigation_generate_messages_cpp
make[2]: *** No rule to make target '/usr/lib/x86_64-linux-gnu/libvtkproj4-6.2.so.6.2.0', needed by 'some_path/ar_navigation/qr_saver'.  Stop.
CMakeFiles/Makefile2:10243: recipe for target 'some_path/ar_navigation/CMakeFiles/qr_saver.dir/all' failed
make[1]: *** [some_path/ar_navigation/CMakeFiles/qr_saver.dir/all] Error 2
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2

The file is there, I don't know what is happening... Anyone experiencing the same problem?

thanks

edit retag flag offensive close merge delete

Comments

5

Glad you were able to work around this problem, but I do want to point out that this is probably not the right solution. This is a new issue that was introduced just a few weeks ago that has already been reported in several places. Hopefully a fix will be coming soon. Relevant bug reports:

jarvisschultz gravatar image jarvisschultz  ( 2020-12-02 08:49:38 -0600 )edit

Fix for issue mentioned above is now released. See my comment to this answer below.

jarvisschultz gravatar image jarvisschultz  ( 2020-12-07 15:33:43 -0600 )edit

2 Answers

Sort by » oldest newest most voted
1

answered 2020-12-03 11:11:39 -0600

You shouldn't just create a symlink. Instead, you can do one of the following while we wait for this to be fixed:

  • Clone perception_pcl into your workspace, or:
  • Pin the OSRF version of libvtk6.2 on apt by creating a file called /etc/apt/preferences.d/ros-pin with the following content:

    Package: *
    Pin: origin packages.ros.org
    Pin-Priority: 1000
    
edit flag offensive delete link more

Comments

2

UPDATE As mentioned on this ROS discourse thread, an update to the ROS Kinetic packages that depend on VTK was just released to the package repositories. Users should be able to unpin any pinned packages (e.g. delete file created above), and then run apt-get update/upgrade to install the latest packages, and this error should disappear.

jarvisschultz gravatar image jarvisschultz  ( 2020-12-07 15:31:24 -0600 )edit

@jarvisschultz I ran 'apt-get update/upgrade' and 'sudo apt-get dist-upgrade', deleted the devel and build folder, but I still get the same error: 'make[2]: * No rule to make target '/usr/lib/x86_64-linux-gnu/libvtkproj4-6.2.so.6.2.0', needed by...' In the link you mentioned it says recompile any binaries which are compiled against vtk or pcl. Is that done by deleting the devel and build folder or is there anything else that commonly needs to be rebuilt? Do I need to rebuild pcl for example? Thanks!

dschimpf gravatar image dschimpf  ( 2020-12-09 17:00:23 -0600 )edit

@dschimpf Please see my comment thread on this question. Updated versions of the ROS packages that depend on PCL have been released (you shouldn't need to rebuild PCL or perception-pcl or any other packages). Just because you ran an update/upgrade doesn't necessarily mean you have all updated packages installed. For example, you could have other conflicting packages causing things to be held back. If you can confirm that you have all versions mentioned in that thread installed, then something else is going on.

jarvisschultz gravatar image jarvisschultz  ( 2020-12-10 09:17:39 -0600 )edit
1

answered 2020-12-02 07:52:12 -0600

Bernat Gaston gravatar image

updated 2020-12-08 01:53:31 -0600

Second edit: For anyone interested, see the answer of @martin-gunther and specially the comment provided by @jarvisschultz to it.

I edit the answer thanks to @jarvisschultz comment (down). It seems this answer is just a workarround while we wait for the bug to be solved


It seems I was able to solve it. For some reason the symbolic link in

/usr/lib/x86_64-linux-gnu/libvtkproj4-6.2.so.6.2.0

Is not there anymore, but there is a library in

/usr/lib/libvtkproj4.so

So I basically created a link from one to the other and now at least it compiles

ln -s /usr/lib/libvtkproj4.so /usr/lib/x86_64-linux-gnu/libvtkproj4-6.2.so.6.2.0
edit flag offensive delete link more

Question Tools

2 followers

Stats

Asked: 2020-12-02 05:58:07 -0600

Seen: 1,204 times

Last updated: Dec 08 '20