SICKAG / sick_visionary_ros

interface to sick visionary devices from ROS nodes
The Unlicense
8 stars 4 forks source link

[BUG] sick_visionary_s_node undefined symbol: _ZN9visionary16VisionaryControl15stopAcquisitionEv #4

Closed carlos-bg closed 1 week ago

carlos-bg commented 2 weeks ago

Prerequisites

Put an X between the brackets on this line if you have done all of the following:

Current Behavior:

The ROS node is crashing with my Visionary-S with Firmware 6.0.0

Expected Behavior:

I upgraded my Visionary-S firmware to 6.0.0, and verified I could get a PointCloud via the SOPAS visualizer (in Windows). Also, after twicking some small issue with the samples code (removed the :: from ::htons(port); in NetLink.cpp), I was able to run the welcome example:

sick_visionary_samples/build/visionary_welcome/cpp$ ./welcome -i172.20.1.130 -dVisionary-S
Frame received in snapshot mode, frame #5988
Writing frame to 5988-pointcloud.ply
Finished writing frame to 5988-pointcloud.ply
Set integration time to 3000 μs.
Frame received in snapshot mode, frame #5989
Writing frame to 5989-pointcloud.ply
Finished writing frame to 5989-pointcloud.ply
Logout and close.
exit code 0

However, the ROS node driver crashes with sick_visionary_s_node: undefined symbol: _ZN9visionary16VisionaryControl15stopAcquisitionEv.

Steps to Reproduce

  1. Launch the driver with roslaunch sick_visionary_ros sick_visionary-s.launch
  2. Console output is
    
    ... logging to /home/robot/.ros/log/be2d4a00-81a7-11ef-84d9-1c697a0cbdda/roslaunch-ltg6be94700exr-14684.log
    Checking log directory for disk usage. This may take a while.
    Press Ctrl-C to interrupt
    Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://127.0.0.1:37535/

SUMMARY

PARAMETERS

NODES / sick_visionary_s (sick_visionary_ros/sick_visionary_s_node)

ROS_MASTER_URI=http://localhost:11311

process[sick_visionary_s-1]: started with pid [14693] /opt/bg/deps/devel/lib/sick_visionary_ros/sick_visionary_s_node: symbol lookup error: /opt/bg/deps/devel/lib/sick_visionary_ros/sick_visionary_s_node: undefined symbol: _ZN9visionary16VisionaryControl15stopAcquisitionEv [sick_visionary_s-1] process has died [pid 14693, exit code 127, cmd /opt/bg/deps/devel/lib/sick_visionary_ros/sick_visionary_s_node name:=sick_visionary_s log:=/home/robot/.ros/log/be2d4a00-81a7-11ef-84d9-1c697a0cbdda/sick_visionary_s-1.log]. log file: /home/robot/.ros/log/be2d4a00-81a7-11ef-84d9-1c697a0cbdda/sick_visionary_s-1*.log all processes on machine have died, roslaunch will exit shutting down processing monitor... ... shutting down processing monitor complete done



### Versions/Environment
- OS: Ubuntu 18.04.5 LTS
- ROS  melodic

### Additional Information
<!--
Links? References? Anything that will give us more context about the issue that you are encountering!
-->
xfealal commented 2 weeks ago

Hello @carlos-bg,

Thank you for reporting this issue.

Unfortunately, we are unable to investigate this problem as we have only tested the ROS node with ROS Noetic. ROS Melodic is not supported by our current implementation.

We recommend trying to run the node with ROS Noetic. If the issue persists, feel free ask for further assistance.

Best regards

carlos-bg commented 1 week ago

My issue was that the libsick_visionary_cpp_shared.so was linked to another/older version I had from a different project.

Driver seems to work in ROS melodic as well.

xfealal commented 1 week ago

Thank you very much @carlos-bg,

We're glad to hear that you resolved this issue and that the ROS driver also works with ROS Melodic!

Best regards.