Open stwirth opened 3 years ago
I've also the same problem. The most likely cause is an incompatibility between the ros libraries and the spinnaker libraries.
When compiled in isolation, the example sources work, but when linked against ROS libraries the segfault happens.
Most likely the two libraries use different versions of boost, which caused me problems in the past with the bumblebee pointgrey driver as well.
I have been trying to get this driver to work in Ubuntu 20.04 (focal) / ROS noetic with the Spinnaker SDK version 2.3.0.77. After applying the patch from #63 compilation works fine but running
spinnaker_test_node
orcamera_node
results in a segmentation fault.gdb backtrace:
Running the shipped example
/opt/spinnaker/bin/Acquisition
works fine.To test if my build environment is the culprit, I copied the source file from
/opt/spinnaker/src/Acquisition/Acquisition.cpp
intoflir_camera_driver/spinnaker_camera_driver/src
and adapted theflir_camera_driver/spinnaker_camera_driver/CMakeLists.txt
to build it. The resulting executable runs fine. Now comes the sorcery: If I just adapt thatAcquisition.cpp
to initialize ROS by adding#include <ros/ros.h>
at the top andros::init(argc, argv, "spinnaker_test_node");
tomain()
, the resulting binary crashes.Investigating further, I found that the same with Spinnaker SDK version 2.2.0.48 works fine (which is enough for me, so I won't dig into this more).