robocup-at-work / atwork-commander

This repository hosts the completly new developed Refbox for the @Work RoboCup league.
MIT License
7 stars 6 forks source link

Build fails: linking error? #14

Closed marcomasa closed 4 years ago

marcomasa commented 4 years ago

Build fails for both Ubuntu 16.04 and 18.04 with standard ROS Kinetic / Melodic installation

Console output for catkin build

Workspace configuration appears valid.
-------------------------------------------------------------
[build] Found '100' packages in 0.0 seconds.                                                        
[build] Package table is up to date.                                                                
Starting  >>> atwork_commander_msgs                                                                 
Finished  <<< atwork_commander_msgs                [ 1.1 seconds ]                                  
Starting  >>> atwork_commander_com                                                                  
Starting  >>> atwork_commander_gen                                                                  
____________________________________________________________________________________________________
Errors     << atwork_commander_com:make /home/ohmnibot/catkin_ws/logs/atwork_commander_com/build.make.001.log
/home/ohmnibot/catkin_ws/src/atwork/atwork_league/atwork-commander/atwork_commander_com/src/ros_com_object_centric.cpp: In lambda function:
/home/ohmnibot/catkin_ws/src/atwork/atwork_league/atwork-commander/atwork_commander_com/src/ros_com_object_centric.cpp:107:86: error: no match for ‘operator==’ (operand types are ‘const Object {aka const atwork_commander_msgs::Object_<std::allocator<void> >}’ and ‘const Object {aka const atwork_commander_msgs::Object_<std::allocator<void> >}’)
         if( any_of(ws.second.begin(), ws.second.end(), [&o](const Object& b){return o==b;}) )
                                                                                     ~^~~
In file included from /usr/include/c++/7/bits/stl_algobase.h:64:0,
                 from /usr/include/c++/7/bits/char_traits.h:39,
                 from /usr/include/c++/7/string:40,
                 from /opt/ros/melodic/include/ros/platform.h:38,
                 from /opt/ros/melodic/include/ros/time.h:53,
                 from /opt/ros/melodic/include/ros/ros.h:38,
                 from /home/ohmnibot/catkin_ws/src/atwork/atwork_league/atwork-commander/atwork_commander_com/include/atwork_commander_com/plugin_interface.h:3,
                 from /home/ohmnibot/catkin_ws/src/atwork/atwork_league/atwork-commander/atwork_commander_com/src/ros_com_object_centric.cpp:1:
/usr/include/c++/7/bits/stl_pair.h:448:5: note: candidate: template<class _T1, class _T2> constexpr bool std::operator==(const std::pair<_T1, _T2>&, const std::pair<_T1, _T2>&)
     operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
     ^~~~~~~~
steup commented 4 years ago

Tested on Gentoo with gcc 7.5.0 and 9.3.0 and compiles in both cases. Will investigate further. If someone has a similar setup: ROS Melodic and Ubuntu 16.04? / 18.04? Please test!

steup commented 4 years ago

Could reproduce the bug using ros kinetic on 16.04 and ros indigo on 14.04 using Travis CI. Will work on a fix

steup commented 4 years ago

Fixed by fb9587ad4ab229dfc3361ac42f8c575be5d32502

Please reopen if still happens

marcomasa commented 4 years ago

Fixed by fb9587a

Please reopen if still happens

Now its building on both machines, thank you !