Closed xander-m2k closed 2 years ago
I have this compile issue when trying to compile the ROS1_bridge with tmr_ros2. The error is as the following
/usr/bin/ld: libros1_bridge.so: undefined reference to `ros1_bridge::Factory<controller_manager_msgs::ControllerState_<std::allocator<void> >, controller_manager_msgs::msg::ControllerState_<std::allocator<void> > >::convert_1_to_2(controller_manager_msgs::ControllerState_<std::allocator<void> > const&, controller_manager_msgs::msg::ControllerState_<std::allocator<void> >&)' /usr/bin/ld: libros1_bridge.so: undefined reference to `ros1_bridge::Factory<controller_manager_msgs::ControllerState_<std::allocator<void> >, controller_manager_msgs::msg::ControllerState_<std::allocator<void> > >::convert_2_to_1(controller_manager_msgs::msg::ControllerState_<std::allocator<void> > const&, controller_manager_msgs::ControllerState_<std::allocator<void> >&)' collect2: error: ld returned 1 exit status make[2]: *** [CMakeFiles/parameter_bridge.dir/build.make:368: parameter_bridge] Error 1 make[1]: *** [CMakeFiles/Makefile2:252: CMakeFiles/parameter_bridge.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... /usr/bin/ld: libros1_bridge.so: undefined reference to `ros1_bridge::Factory<controller_manager_msgs::ControllerState_<std::allocator<void> >, controller_manager_msgs::msg::ControllerState_<std::allocator<void> > >::convert_1_to_2(controller_manager_msgs::ControllerState_<std::allocator<void> > const&, controller_manager_msgs::msg::ControllerState_<std::allocator<void> >&)' /usr/bin/ld: libros1_bridge.so: undefined reference to `ros1_bridge::Factory<controller_manager_msgs::ControllerState_<std::allocator<void> >, controller_manager_msgs::msg::ControllerState_<std::allocator<void> > >::convert_2_to_1(controller_manager_msgs::msg::ControllerState_<std::allocator<void> > const&, controller_manager_msgs::ControllerState_<std::allocator<void> >&)' collect2: error: ld returned 1 exit status make[2]: *** [CMakeFiles/static_bridge.dir/build.make:368: static_bridge] Error 1 make[1]: *** [CMakeFiles/Makefile2:198: CMakeFiles/static_bridge.dir/all] Error 2 /usr/bin/ld: libros1_bridge.so: undefined reference to `ros1_bridge::Factory<controller_manager_msgs::ControllerState_<std::allocator<void> >, controller_manager_msgs::msg::ControllerState_<std::allocator<void> > >::convert_1_to_2(controller_manager_msgs::ControllerState_<std::allocator<void> > const&, controller_manager_msgs::msg::ControllerState_<std::allocator<void> >&)' /usr/bin/ld: libros1_bridge.so: undefined reference to `ros1_bridge::Factory<controller_manager_msgs::ControllerState_<std::allocator<void> >, controller_manager_msgs::msg::ControllerState_<std::allocator<void> > >::convert_2_to_1(controller_manager_msgs::msg::ControllerState_<std::allocator<void> > const&, controller_manager_msgs::ControllerState_<std::allocator<void> >&)' collect2: error: ld returned 1 exit status make[2]: *** [CMakeFiles/dynamic_bridge.dir/build.make:368: dynamic_bridge] Error 1 make[1]: *** [CMakeFiles/Makefile2:306: CMakeFiles/dynamic_bridge.dir/all] Error 2 make: *** [Makefile:141: all] Error 2
According to https://github.com/ros2/ros1_bridge/issues/128 this is because the mapping of the msgs is not correct. I have tried compiling without tmr_ros2, and then it compiles fine. I tried compiling using the https://github.com/ros2/ros1_bridge/tree/foxy README.md file, but this gives me the error. Please advice on how to solve this issue.
Reinstalling both ROS distros solved the problem
I have this compile issue when trying to compile the ROS1_bridge with tmr_ros2. The error is as the following
According to https://github.com/ros2/ros1_bridge/issues/128 this is because the mapping of the msgs is not correct. I have tried compiling without tmr_ros2, and then it compiles fine. I tried compiling using the https://github.com/ros2/ros1_bridge/tree/foxy README.md file, but this gives me the error. Please advice on how to solve this issue.