Ask Your Question
0

ROS Groovy, robot_mechanism_controllers: cannot find -lPyKDL

asked 2013-01-15 02:36:38 -0500

Ugo gravatar image

updated 2013-04-28 23:24:38 -0500

ipso gravatar image

Hi,

On a fresh ROS Groovy install (on Ubuntu 12.04), I'm failing to compile robot_mechanism_controllers. I get a linkage error:

Linking CXX shared library ../lib/librobot_mechanism_controllers.so/usr/bin/ld:
cannot find -lPyKDL

robot_mechanism_controllers is depending on kdl (which depends on python_orocos_kdl). The python_orocos_kdl in /opt/ros/groovy/stacks does contain a PyKDL.so, but not the one in /opt/ros/groovy/share (which is coming first in the ROS_PACKAGE_PATH).

I found this as I was trying to compile my own controllers based on robot_mechanism_controllers and was getting this error. I tried to compile the already installed robot_mechanism_controllers package (installed through standard apt-get), and also tried to download it in an overlay from the svn.

Any idea?

Cheers,

Ugo

edit retag flag offensive close merge delete

Comments

I can "fix" it by manually prepending the path to the python_orocos_kdl in /opt/ros/stacks to ROS_PACKAGE_PATH (export ROS_PACKAGE_PATH=/opt/ros/groovy/stacks/orocos_kinematics_dynamics/python_orocos_kdl:${ROS_PACKAGE_PATH}). What's wrong here?

Ugo gravatar image Ugo  ( 2013-01-15 02:52:33 -0500 )edit

2 Answers

Sort by ยป oldest newest most voted
3

answered 2013-01-15 05:01:58 -0500

KruseT gravatar image

So it seems that currently groovy is released with 2 python_orocos_kdl packages, a catkin one, and a rosbuild one as part of the orocos_kinematics_dynamics stack. That cannot be good.

The catkin one overlays the rosbuild one in the ROS_PACKAGE_PATH. Which is why it works if you change the ROS_PACKAGE_PATH.

I guess you could probably remove ros-groovy-python-orocos-kdl with apt for the time being, until the migration to catkin is complete. At least for me it was an optional apt library. Else contact the orocos kdl maintainer maybe.

edit flag offensive delete link more

Comments

Hi, thanks for the answer. Removing ros-groovy-python-orocos-kdl is not possible (due to apt dependencies on my side). But I can keep this prepended to the package path for the time being.

Ugo gravatar image Ugo  ( 2013-01-15 20:02:15 -0500 )edit
1

answered 2013-01-16 07:18:54 -0500

Dirk Thomas gravatar image

updated 2013-01-16 07:19:19 -0500

The library PyKDL should not be exposes to downstream projects since it contains python bindings. This has been fixed in python_orocos_kdl 1.1.99-12 which is currently on its way through the build farm.

edit flag offensive delete link more

Comments

OK excellent, thanks for letting me know.

Ugo gravatar image Ugo  ( 2013-01-16 19:45:27 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

Stats

Asked: 2013-01-15 02:36:38 -0500

Seen: 338 times

Last updated: Jan 16 '13