astuff / ibeo_lux

ROS Driver for Ibeo LUX and LUX Fusion Sensors
MIT License
12 stars 8 forks source link

ibeo_lux catkin_make problem #19

Closed hcyoo93 closed 4 years ago

hcyoo93 commented 4 years ago

Hello, I have a problem with building ibeo_lux package (ubuntu16.04, kinetic)

When I try to catkin_make ibeo_lux, fails with error

I guess, there are some problems with "ReturnStatuses", but I cannot figure it out.

Here is the error message.

/home/hcyoo/catkin_ws5/src/ibeo_lux/src/ros_ibeo_lux.cpp: In function 'int main(int, char**)':
/home/hcyoo/catkin_ws5/src/ibeo_lux/src/ros_ibeo_lux.cpp:135:3: error: 'ReturnStatuses' was not declared in this scope
   ReturnStatuses status;
   ^
/home/hcyoo/catkin_ws5/src/ibeo_lux/src/ros_ibeo_lux.cpp:149:7: error: 'status' was not declared in this scope
       status = tcp_interface.open(ip_address.c_str(), port);
       ^
/home/hcyoo/catkin_ws5/src/ibeo_lux/src/ros_ibeo_lux.cpp:149:7: note: suggested alternatives:
In file included from /usr/include/boost/filesystem.hpp:17:0,
                 from /usr/include/pcl-1.7/pcl/io/boost.h:52,
                 from /usr/include/pcl-1.7/pcl/io/file_io.h:43,
                 from /usr/include/pcl-1.7/pcl/io/pcd_io.h:44,
                 from /opt/ros/kinetic/include/pcl_conversions/pcl_conversions.h:70,
                 from /opt/ros/kinetic/include/pcl_ros/point_cloud.h:9,
                 from /home/hcyoo/catkin_ws5/src/ibeo_lux/include/ibeo_lux/ibeo_lux_common.h:13,
                 from /home/hcyoo/catkin_ws5/src/ibeo_lux/include/ibeo_lux/ibeo_lux_ros_msg_handler.h:11,
                 from /home/hcyoo/catkin_ws5/src/ibeo_lux/src/ros_ibeo_lux.cpp:8:
/usr/include/boost/filesystem/operations.hpp:396:15: note:   'boost::filesystem::status'
   file_status status(const path& p, system::error_code& ec)
               ^
/usr/include/boost/filesystem/operations.hpp:320:17: note:   'boost::filesystem::detail::status'
     file_status status(const path&p, system::error_code* ec=0);
                 ^
/home/hcyoo/catkin_ws5/src/ibeo_lux/src/ros_ibeo_lux.cpp:151:21: error: 'ReturnStatuses' is not a class, namespace, or enumeration
       if (status != ReturnStatuses::OK)
                     ^
/home/hcyoo/catkin_ws5/src/ibeo_lux/src/ros_ibeo_lux.cpp:174:9: error: 'status' was not declared in this scope
         status = tcp_interface.write(set_filter_cmd);
         ^
/home/hcyoo/catkin_ws5/src/ibeo_lux/src/ros_ibeo_lux.cpp:174:9: note: suggested alternatives:
In file included from /usr/include/boost/filesystem.hpp:17:0,
                 from /usr/include/pcl-1.7/pcl/io/boost.h:52,
                 from /usr/include/pcl-1.7/pcl/io/file_io.h:43,
                 from /usr/include/pcl-1.7/pcl/io/pcd_io.h:44,
                 from /opt/ros/kinetic/include/pcl_conversions/pcl_conversions.h:70,
                 from /opt/ros/kinetic/include/pcl_ros/point_cloud.h:9,
                 from /home/hcyoo/catkin_ws5/src/ibeo_lux/include/ibeo_lux/ibeo_lux_common.h:13,
                 from /home/hcyoo/catkin_ws5/src/ibeo_lux/include/ibeo_lux/ibeo_lux_ros_msg_handler.h:11,
                 from /home/hcyoo/catkin_ws5/src/ibeo_lux/src/ros_ibeo_lux.cpp:8:
/usr/include/boost/filesystem/operations.hpp:396:15: note:   'boost::filesystem::status'
   file_status status(const path& p, system::error_code& ec)
               ^
/usr/include/boost/filesystem/operations.hpp:320:17: note:   'boost::filesystem::detail::status'
     file_status status(const path&p, system::error_code* ec=0);
                 ^
/home/hcyoo/catkin_ws5/src/ibeo_lux/src/ros_ibeo_lux.cpp:174:52: error: no matching function for call to 'AS::Network::TCPInterface::write(std::vector<unsigned char>&)'
         status = tcp_interface.write(set_filter_cmd);
                                                    ^
In file included from /home/hcyoo/catkin_ws5/src/ibeo_lux/src/ros_ibeo_lux.cpp:9:0:
/opt/ros/kinetic/include/network_interface/network_interface.h:100:19: note: candidate: AS::Network::return_statuses AS::Network::TCPInterface::write(unsigned char*, const size_t&)
   return_statuses write(unsigned char *msg, const size_t &msg_size);
                   ^
/opt/ros/kinetic/include/network_interface/network_interface.h:100:19: note:   candidate expects 2 arguments, 1 provided
/home/hcyoo/catkin_ws5/src/ibeo_lux/src/ros_ibeo_lux.cpp:176:23: error: 'ReturnStatuses' is not a class, namespace, or enumeration
         if (status != ReturnStatuses::OK)
                       ^
/home/hcyoo/catkin_ws5/src/ibeo_lux/src/ros_ibeo_lux.cpp:189:9: error: 'status' was not declared in this scope
         status = tcp_interface.read(&msg_buf);  // Read a (big) chunk.
         ^
/home/hcyoo/catkin_ws5/src/ibeo_lux/src/ros_ibeo_lux.cpp:189:9: note: suggested alternatives:
In file included from /usr/include/boost/filesystem.hpp:17:0,
                 from /usr/include/pcl-1.7/pcl/io/boost.h:52,
                 from /usr/include/pcl-1.7/pcl/io/file_io.h:43,
                 from /usr/include/pcl-1.7/pcl/io/pcd_io.h:44,
                 from /opt/ros/kinetic/include/pcl_conversions/pcl_conversions.h:70,
                 from /opt/ros/kinetic/include/pcl_ros/point_cloud.h:9,
                 from /home/hcyoo/catkin_ws5/src/ibeo_lux/include/ibeo_lux/ibeo_lux_common.h:13,
                 from /home/hcyoo/catkin_ws5/src/ibeo_lux/include/ibeo_lux/ibeo_lux_ros_msg_handler.h:11,
                 from /home/hcyoo/catkin_ws5/src/ibeo_lux/src/ros_ibeo_lux.cpp:8:
/usr/include/boost/filesystem/operations.hpp:396:15: note:   'boost::filesystem::status'
   file_status status(const path& p, system::error_code& ec)
               ^
/usr/include/boost/filesystem/operations.hpp:320:17: note:   'boost::filesystem::detail::status'
     file_status status(const path&p, system::error_code* ec=0);
                 ^
/home/hcyoo/catkin_ws5/src/ibeo_lux/src/ros_ibeo_lux.cpp:189:45: error: no matching function for call to 'AS::Network::TCPInterface::read(std::vector<unsigned char>*)'
         status = tcp_interface.read(&msg_buf);  // Read a (big) chunk.
                                             ^
In file included from /home/hcyoo/catkin_ws5/src/ibeo_lux/src/ros_ibeo_lux.cpp:9:0:
/opt/ros/kinetic/include/network_interface/network_interface.h:90:19: note: candidate: AS::Network::return_statuses AS::Network::TCPInterface::read(unsigned char*, const size_t&, std::size_t&, int)
   return_statuses read(unsigned char *msg,
                   ^
/opt/ros/kinetic/include/network_interface/network_interface.h:90:19: note:   candidate expects 4 arguments, 1 provided
/home/hcyoo/catkin_ws5/src/ibeo_lux/src/ros_ibeo_lux.cpp:191:23: error: 'ReturnStatuses' is not a class, namespace, or enumeration
         if (status != ReturnStatuses::OK && status != ReturnStatuses::NO_MESSAGES_RECEIVED)
                       ^
/home/hcyoo/catkin_ws5/src/ibeo_lux/src/ros_ibeo_lux.cpp:191:55: error: 'ReturnStatuses' is not a class, namespace, or enumeration
         if (status != ReturnStatuses::OK && status != ReturnStatuses::NO_MESSAGES_RECEIVED)
                                                       ^
/home/hcyoo/catkin_ws5/src/ibeo_lux/src/ros_ibeo_lux.cpp:197:28: error: 'ReturnStatuses' is not a class, namespace, or enumeration
         else if (status == ReturnStatuses::OK)
                            ^
/home/hcyoo/catkin_ws5/src/ibeo_lux/src/ros_ibeo_lux.cpp:206:64: error: cannot convert 'std::deque<unsigned char>' to 'uint8_t* {aka unsigned char*}' for argument '1' to 'int32_t AS::Network::find_magic_word(uint8_t*, uint32_t, size_t)'
             first_mw = find_magic_word(grand_buffer, MAGIC_WORD);
                                                                ^
/home/hcyoo/catkin_ws5/src/ibeo_lux/src/ros_ibeo_lux.cpp:222:111: error: no matching function for call to 'AS::Drivers::Ibeo::IbeoDataHeader::parse(std::vector<unsigned char>)'
               header.parse(std::vector<uint8_t>(grand_buffer.begin(), grand_buffer.begin() + IBEO_HEADER_SIZE));
                                                                                                               ^
In file included from /home/hcyoo/catkin_ws5/src/ibeo_lux/include/ibeo_lux/ibeo_lux_common.h:11:0,
                 from /home/hcyoo/catkin_ws5/src/ibeo_lux/include/ibeo_lux/ibeo_lux_ros_msg_handler.h:11,
                 from /home/hcyoo/catkin_ws5/src/ibeo_lux/src/ros_ibeo_lux.cpp:8:
/opt/ros/kinetic/include/ibeo_core/ibeo_core.h:542:8: note: candidate: void AS::Drivers::Ibeo::IbeoDataHeader::parse(uint8_t*)
   void parse(uint8_t *in);
        ^
/opt/ros/kinetic/include/ibeo_core/ibeo_core.h:542:8: note:   no known conversion for argument 1 from 'std::vector<unsigned char>' to 'uint8_t* {aka unsigned char*}'
/home/hcyoo/catkin_ws5/src/ibeo_lux/src/ros_ibeo_lux.cpp:258:36: error: no matching function for call to 'AS::Drivers::Ibeo::IbeoDataHeader::parse(std::vector<unsigned char>&)'
           ibeo_header.parse(message);
                                    ^
In file included from /home/hcyoo/catkin_ws5/src/ibeo_lux/include/ibeo_lux/ibeo_lux_common.h:11:0,
                 from /home/hcyoo/catkin_ws5/src/ibeo_lux/include/ibeo_lux/ibeo_lux_ros_msg_handler.h:11,
                 from /home/hcyoo/catkin_ws5/src/ibeo_lux/src/ros_ibeo_lux.cpp:8:
/opt/ros/kinetic/include/ibeo_core/ibeo_core.h:542:8: note: candidate: void AS::Drivers::Ibeo::IbeoDataHeader::parse(uint8_t*)
   void parse(uint8_t *in);
        ^
/opt/ros/kinetic/include/ibeo_core/ibeo_core.h:542:8: note:   no known conversion for argument 1 from 'std::vector<unsigned char>' to 'uint8_t* {aka unsigned char*}'
/home/hcyoo/catkin_ws5/src/ibeo_lux/src/ros_ibeo_lux.cpp:269:40: error: no matching function for call to 'AS::Drivers::Ibeo::IbeoTxMessage::parse(std::vector<unsigned char>&)'
             class_parser->parse(message);
                                        ^
In file included from /home/hcyoo/catkin_ws5/src/ibeo_lux/include/ibeo_lux/ibeo_lux_common.h:11:0,
                 from /home/hcyoo/catkin_ws5/src/ibeo_lux/include/ibeo_lux/ibeo_lux_ros_msg_handler.h:11,
                 from /home/hcyoo/catkin_ws5/src/ibeo_lux/src/ros_ibeo_lux.cpp:8:
/opt/ros/kinetic/include/ibeo_core/ibeo_core.h:560:16: note: candidate: virtual void AS::Drivers::Ibeo::IbeoTxMessage::parse(uint8_t*)
   virtual void parse(uint8_t *in) = 0;
                ^
/opt/ros/kinetic/include/ibeo_core/ibeo_core.h:560:16: note:   no known conversion for argument 1 from 'std::vector<unsigned char>' to 'uint8_t* {aka unsigned char*}'
/home/hcyoo/catkin_ws5/src/ibeo_lux/src/ros_ibeo_lux.cpp:322:3: error: 'status' was not declared in this scope
   status = tcp_interface.close();
   ^
/home/hcyoo/catkin_ws5/src/ibeo_lux/src/ros_ibeo_lux.cpp:322:3: note: suggested alternatives:
In file included from /usr/include/boost/filesystem.hpp:17:0,
                 from /usr/include/pcl-1.7/pcl/io/boost.h:52,
                 from /usr/include/pcl-1.7/pcl/io/file_io.h:43,
                 from /usr/include/pcl-1.7/pcl/io/pcd_io.h:44,
                 from /opt/ros/kinetic/include/pcl_conversions/pcl_conversions.h:70,
                 from /opt/ros/kinetic/include/pcl_ros/point_cloud.h:9,
                 from /home/hcyoo/catkin_ws5/src/ibeo_lux/include/ibeo_lux/ibeo_lux_common.h:13,
                 from /home/hcyoo/catkin_ws5/src/ibeo_lux/include/ibeo_lux/ibeo_lux_ros_msg_handler.h:11,
                 from /home/hcyoo/catkin_ws5/src/ibeo_lux/src/ros_ibeo_lux.cpp:8:
/usr/include/boost/filesystem/operations.hpp:396:15: note:   'boost::filesystem::status'
   file_status status(const path& p, system::error_code& ec)
               ^
/usr/include/boost/filesystem/operations.hpp:320:17: note:   'boost::filesystem::detail::status'
     file_status status(const path&p, system::error_code* ec=0);
                 ^
/home/hcyoo/catkin_ws5/src/ibeo_lux/src/ros_ibeo_lux.cpp:324:17: error: 'ReturnStatuses' is not a class, namespace, or enumeration
   if (status != ReturnStatuses::OK)
                 ^
ibeo_lux/CMakeFiles/ibeo_lux.dir/build.make:62: recipe for target 'ibeo_lux/CMakeFiles/ibeo_lux.dir/src/ros_ibeo_lux.cpp.o' failed
make[2]: *** [ibeo_lux/CMakeFiles/ibeo_lux.dir/src/ros_ibeo_lux.cpp.o] Error 1
make[1]: *** [ibeo_lux/CMakeFiles/ibeo_lux.dir/all] Error 2
make: *** [all] Error 2
CMakeFiles/Makefile2:3839: recipe for target 'ibeo_lux/CMakeFiles/ibeo_lux.dir/all' failed
Makefile:138: recipe for target 'all' failed
Base path: /home/hcyoo/catkin_ws5
Source space: /home/hcyoo/catkin_ws5/src
Build space: /home/hcyoo/catkin_ws5/build
Devel space: /home/hcyoo/catkin_ws5/devel
Install space: /home/hcyoo/catkin_ws5/install
####
#### Running command: "make cmake_check_build_system" in "/home/hcyoo/catkin_ws5/build"
####
####
#### Running command: "make -j4 -l4" in "/home/hcyoo/catkin_ws5/build"
####
Invoking "make -j4 -l4" failed
JWhitleyWork commented 4 years ago

@hcyoo93 - Sorry for the confusion. A newer version of network_interface is required for the current master of this repo. Please also clone from source https://github.com/astuff/network_interface. We will release a new version as soon as it is fully tested.

hcyoo93 commented 4 years ago

Thank you for your kind answer. Cloning network_interface https://github.com/astuff/network_interface and ibeo_core https://github.com/astuff/ibeo_core worked for me!