0
$\begingroup$

Rosanswers logo

I am getting a symbol mapping error on a nodelet I am trying to create/call. Thank you for taking time to look at this issue. Please note this is my own nodelet not the same as the zed_ros_wrapper which is not a nodelet.

Note the additional "/" in the so path. See "lib//" in error msg after : system lookup error. Is this the issue?

[ INFO] [1454774540.899541309]: Loading nodelet /camera/zed_ros_wrapper_nodelet of type zed_ros_wrapper/ZedWrapperNodelet to manager standalone_nodelet with the following remappings:
/opt/ros/indigo/lib/nodelet/nodelet: symbol lookup error: /home/ubuntu/catkin_ws/devel/lib//libzed_ros_wrapper_nodelet.so: undefined symbol: _ZN15zed_ros_wrapper17ZedWrapperNodeletC1Ev
[FATAL] [1454774541.354151111]: Service call failed!

ubuntu@tegra-ubuntu:~/catkin_ws$ nm -D /home/ubuntu/catkin_ws/devel/lib/libzed_ros_wrapper_nodelet.so | grep _ZN15zed_ros_wrapper17ZedWrapperNodeletC1Ev

output from grep:

 U _ZN15zed_ros_wrapper17ZedWrapperNodeletC1Ev

Originally posted by rnunziata on ROS Answers with karma: 713 on 2016-02-06

Post score: 1

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

According to the nm documentation, the U at the beginning of the line means that symbol is undefined.

_ZN15zed_ros_wrapper17ZedWrapperNodeletC1Ev is a mangled C++ name, so I put it through c++filt to get the actual function name for the undefined symbol: zed_ros_wrapper::ZedWrapperNodelet::ZedWrapperNodelet()

It looks like you haven't implemented the no-argument constructor for your nodelet.


Originally posted by ahendrix with karma: 47576 on 2016-02-06

This answer was ACCEPTED on the original site

Post score: 3

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.