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

Revision history [back]

click to hide/show revision 1
initial version

Based on the sources from attached link, you should looking for hints in error message.

Failed to load library /home/shantengfei/catkin_ws/devel/lib//libjoint_value_monitor.so. Make sure that you are calling the PLUGINLIB_EXPORT_CLASS macro in the library code, and that names are consistent between this macro and your XML. Error string: Could not load library (Poco exception = /home/shantengfei/catkin_ws/devel/lib//libjoint_value_monitor.so: undefined symbol: _ZN19joint_value_monitor11joint_value4loadERKN4rviz6ConfigE)

First of all, we know that we have poroblems with libjoint_value_monitor.so library which should be located in the /home/shantengfei/catkin_ws/devel/lib//libjoint_value_monitor.so path --- but, it looks good The library code contains PLUGINLIB_EXPORT_CLASS macro and names are consistent between this macro and XML --- Ok Let's check the last sentence with undefined symbol: _ZN19joint_value_monitor11joint_value4loadERKN4rviz6ConfigE, so we should check if we have implemented this function. If we can't deduce function name from _ZN19joint_value_monitor11joint_value4loadERKN4rviz6ConfigE, we can call:

<$:~$ c++filt _ZN19joint_value_monitor11joint_value4loadERKN4rviz6ConfigE

where output will be

joint_value_monitor::joint_value::load(rviz::Config const&)

So the problem is lack of joint_value_monitor::joint_value::load(rviz::Config const&) definition.

Based on the sources from attached link, you should looking for hints in error message.

Failed to load library /home/shantengfei/catkin_ws/devel/lib//libjoint_value_monitor.so. Make sure that you are calling the PLUGINLIB_EXPORT_CLASS macro in the library code, and that names are consistent between this macro and your XML. Error string: Could not load library (Poco exception = /home/shantengfei/catkin_ws/devel/lib//libjoint_value_monitor.so: undefined symbol: _ZN19joint_value_monitor11joint_value4loadERKN4rviz6ConfigE)

First of all, we know that we have poroblems with libjoint_value_monitor.so library which should be located in the /home/shantengfei/catkin_ws/devel/lib//libjoint_value_monitor.so path --- but, it looks good good

The library code contains PLUGINLIB_EXPORT_CLASS macro and names are consistent between this macro and XML --- Ok Ok

Let's check the last sentence with undefined symbol: _ZN19joint_value_monitor11joint_value4loadERKN4rviz6ConfigE, so we should check if we have implemented this function. If we can't deduce function name from _ZN19joint_value_monitor11joint_value4loadERKN4rviz6ConfigE, we can call:

<$:~$ c++filt _ZN19joint_value_monitor11joint_value4loadERKN4rviz6ConfigE

where output will be

joint_value_monitor::joint_value::load(rviz::Config const&)

So the problem is lack of joint_value_monitor::joint_value::load(rviz::Config const&) definition.