ros / geometry_tutorials

ROS geometry_tutorials stack migrated from https://kforge.ros.org/geometry/tutorials/branches
31 stars 53 forks source link

turtle_tf2_cpp fails to build on Rolling #64

Closed nuclearsandwich closed 2 years ago

nuclearsandwich commented 2 years ago

Rolling packaging builds for turtle_tf2_cpp are failing due to compilation errors.

/usr/lib/ccache/c++  -DDEFAULT_RMW_IMPLEMENTATION=rmw_cyclonedds_cpp -DRCUTILS_ENABLE_FAULT_INJECTION -isystem /opt/ros/rolling/include  -g -O2 -fdebug-prefix-map=/tmp/binarydeb/ros-rolling-turtle-tf2-cpp-0.3.3=. -fstack-protector-strong -Wformat -Werror=format-security -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2   -Wall -Wextra -Wpedantic -std=gnu++17 -o CMakeFiles/turtle_tf2_listener.dir/src/turtle_tf2_listener.cpp.o -c /tmp/binarydeb/ros-rolling-turtle-tf2-cpp-0.3.3/src/turtle_tf2_listener.cpp
/tmp/binarydeb/ros-rolling-turtle-tf2-cpp-0.3.3/src/turtle_tf2_listener.cpp: In member function ‘void FrameListener::on_timer()’:
/tmp/binarydeb/ros-rolling-turtle-tf2-cpp-0.3.3/src/turtle_tf2_listener.cpp:125:83: error: ambiguous overload for ‘operator=’ (operand types are ‘rclcpp::Client<turtlesim::srv::Spawn>::SharedFuture’ {aka ‘std::shared_future<std::shared_ptr<turtlesim::srv::Spawn_Response_<std::allocator<void> > > >’} and ‘rclcpp::Client<turtlesim::srv::Spawn>::SharedFutureAndRequestId’)
  125 |         result_ = spawner_->async_send_request(request, response_received_callback);
      |                                                                                   ^
In file included from /opt/ros/rolling/include/rclcpp/executors.hpp:18,
                 from /opt/ros/rolling/include/rclcpp/rclcpp.hpp:155,
                 from /tmp/binarydeb/ros-rolling-turtle-tf2-cpp-0.3.3/src/turtle_tf2_listener.cpp:18:
/usr/include/c++/9/future:911:22: note: candidate: ‘std::shared_future<_Res>& std::shared_future<_Res>::operator=(const std::shared_future<_Res>&) [with _Res = std::shared_ptr<turtlesim::srv::Spawn_Response_<std::allocator<void> > >]’
  911 |       shared_future& operator=(const shared_future& __sf) noexcept
      |                      ^~~~~~~~
/usr/include/c++/9/future:917:22: note: candidate: ‘std::shared_future<_Res>& std::shared_future<_Res>::operator=(std::shared_future<_Res>&&) [with _Res = std::shared_ptr<turtlesim::srv::Spawn_Response_<std::allocator<void> > >]’
  917 |       shared_future& operator=(shared_future&& __sf) noexcept
      |                      ^~~~~~~~

This package may need to be updated to accommodate changes in rclcpp.

kurshakuz commented 2 years ago

Fixed and returned back in https://github.com/ros/rosdistro/pull/30963