ros-perception / image_common

Common code for working with images in ROS
http://www.ros.org/wiki/image_common
125 stars 220 forks source link

image_transport error #168

Open sebastian-ruiz opened 4 years ago

sebastian-ruiz commented 4 years ago

I am following the guide to install Openvslam with ROS 2 and it uses the image_common package on the dashing branch.

When building I get the following error:

openvslam/ros/2 on develop
➜ colcon build --symlink-install                                      
Starting >>> cv_bridge
Starting >>> image_transport
Starting >>> camera_calibration_parsers
Starting >>> image_geometry
Starting >>> image_tools
Finished <<< camera_calibration_parsers [0.31s]                                                       
Finished <<< image_tools [0.43s]                                                                    
Finished <<< cv_bridge [0.74s]                                                                      
Starting >>> opencv_tests
Finished <<< image_geometry [0.73s]
Starting >>> vision_opencv
Finished <<< opencv_tests [5.26s]                                                              
Finished <<< vision_opencv [7.64s]                                                                  
--- stderr: image_transport                              
/home/sebastian/bin/openvslam/ros/2/src/image_common/image_transport/src/publisher.cpp: In constructor ‘image_transport::Publisher::Publisher(rclcpp::Node*, const string&, image_transport::PubLoaderPtr, rmw_qos_profile_t)’:
/home/sebastian/bin/openvslam/ros/2/src/image_common/image_transport/src/publisher.cpp:111:8: error: ‘set’ is not a member of ‘std’
   std::set<std::string> blacklist;
        ^~~
/home/sebastian/bin/openvslam/ros/2/src/image_common/image_transport/src/publisher.cpp:111:8: note: ‘std::set’ is defined in header ‘<set>’; did you forget to ‘#include <set>’?
/home/sebastian/bin/openvslam/ros/2/src/image_common/image_transport/src/publisher.cpp:44:1:
+#include <set>

/home/sebastian/bin/openvslam/ros/2/src/image_common/image_transport/src/publisher.cpp:111:8:
   std::set<std::string> blacklist;
        ^~~
/home/sebastian/bin/openvslam/ros/2/src/image_common/image_transport/src/publisher.cpp:111:23: error: expected primary-expression before ‘>’ token
   std::set<std::string> blacklist;
                       ^
/home/sebastian/bin/openvslam/ros/2/src/image_common/image_transport/src/publisher.cpp:111:25: error: ‘blacklist’ was not declared in this scope
   std::set<std::string> blacklist;
                         ^~~~~~~~~
/home/sebastian/bin/openvslam/ros/2/src/image_common/image_transport/src/publisher.cpp:111:25: note: suggested alternative: ‘va_list’
   std::set<std::string> blacklist;
                         ^~~~~~~~~
                         va_list
make[2]: *** [CMakeFiles/image_transport.dir/build.make:76: CMakeFiles/image_transport.dir/src/publisher.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:281: CMakeFiles/image_transport.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
---
Failed   <<< image_transport [9.11s, exited with code 2]

Summary: 6 packages finished [9.30s]
  1 package failed: image_transport
  1 package had stderr output: image_transport
  3 packages not processed

It looks like there are some problems with the image_transport.

joelbudu commented 4 years ago

I am also getting the same issue whiles building ros2_openvino_toolkit using this guide