Build errors in rclcpp benchmark tests
I'm trying to build ROS2 Galactic from source in Windows, head of galactic
branch, commit ID is 07f6b642c
.
My build always fails on tests for rclcpp.
Below is the relevant part of stdout.log, showing build errors for benchmark_init_shutdown.cpp
. Same errors are observed in three other tests: benchmark_node.cpp
, benchmark_node_parameters_interface.cpp
, benchmark_parameter_client.cpp
.
Compiler: MS Visual Studio 2019, with all recent updates.
Being a newbie in ROS2, the only solution I see is to comment out add_subdirectory(benchmark)
in respective CMakeLists.txt
.
Are there any other variants?
Building Custom Rule C:/work/ros2_galactic/src/ros2/rclcpp/rclcpp/test/benchmark/CMakeLists.txt
benchmark_init_shutdown.cpp
C:\work\ros2_galactic\src\ros2\rclcpp\rclcpp\include\rclcpp/subscription_options.hpp(51,51): error C3646: 'require_unique_network_flow_endpoints': unknown override specifier [C:\work\ros2_galactic\build\rclcpp\test\benchmark\benchmark_init_shutdown.vcxproj]
C:\work\ros2_galactic\src\ros2\rclcpp\rclcpp\include\rclcpp/subscription_options.hpp(51,89): error C2059: syntax error: '=' [C:\work\ros2_galactic\build\rclcpp\test\benchmark\benchmark_init_shutdown.vcxproj]
C:\work\ros2_galactic\src\ros2\rclcpp\rclcpp\include\rclcpp/subscription_options.hpp(52,51): error C2238: unexpected token(s) preceding ';' [C:\work\ros2_galactic\build\rclcpp\test\benchmark\benchmark_init_shutdown.vcxproj]
C:\work\ros2_galactic\src\ros2\rclcpp\rclcpp\include\rclcpp/publisher_options.hpp(51,51): error C3646: 'require_unique_network_flow_endpoints': unknown override specifier [C:\work\ros2_galactic\build\rclcpp\test\benchmark\benchmark_init_shutdown.vcxproj]
C:\work\ros2_galactic\src\ros2\rclcpp\rclcpp\include\rclcpp/publisher_options.hpp(51,89): error C2059: syntax error: '=' [C:\work\ros2_galactic\build\rclcpp\test\benchmark\benchmark_init_shutdown.vcxproj]
C:\work\ros2_galactic\src\ros2\rclcpp\rclcpp\include\rclcpp/publisher_options.hpp(52,51): error C2238: unexpected token(s) preceding ';' [C:\work\ros2_galactic\build\rclcpp\test\benchmark\benchmark_init_shutdown.vcxproj]
Here is the output of CMake configure step:
-- Selecting Windows SDK version 10.0.18362.0 to target Windows 10.0.19043.
-- Found ament_cmake_ros: 0.9.2 (C:/opt/ros/galactic2/share/ament_cmake_ros/cmake)
-- Found PythonInterp: C:/Python39/python.exe (found suitable version "3.9.6", minimum required is "3")
-- Using PYTHON_EXECUTABLE: C:/Python39/python.exe
-- Found ament_index_cpp: 1.2.0 (C:/opt/ros/galactic2/share/ament_index_cpp/cmake)
-- Found builtin_interfaces: 1.0.3 (C:/opt/ros/galactic2/share/builtin_interfaces/cmake)
-- Using all available rosidl_typesupport_c: rosidl_typesupport_fastrtps_c;rosidl_typesupport_introspection_c
-- Found rosidl_adapter: 2.2.1 (C:/opt/ros/galactic2/share/rosidl_adapter/cmake)
-- Using all available rosidl_typesupport_cpp: rosidl_typesupport_fastrtps_cpp;rosidl_typesupport_introspection_cpp
-- Found libstatistics_collector: 1.1.0 (C:/opt/ros/galactic2/share/libstatistics_collector/cmake)
-- Found rmw_implementation_cmake: 3.3.1 (C:/opt/ros/galactic2/share/rmw_implementation_cmake/cmake)
-- Found rmw_cyclonedds_cpp: 0.22.3 (C:/opt/ros/galactic2/share/rmw_cyclonedds_cpp/cmake)
-- Using RMW implementation 'rmw_cyclonedds_cpp' as default
-- Found rosgraph_msgs: 1.0.3 (C:/opt/ros/galactic2/share/rosgraph_msgs/cmake)
-- Found ament_lint_auto: 0.10.6 (C:/opt/ros/galactic2/share/ament_lint_auto/cmake)
-- Found PythonInterp: C:/Python39/python.exe (found version "3.9.6")
-- Using all available rosidl_typesupport_c: rosidl_typesupport_fastrtps_c;rosidl_typesupport_introspection_c
-- Using all available rosidl_typesupport_cpp: rosidl_typesupport_fastrtps_cpp;rosidl_typesupport_introspection_cpp
-- Found PythonInterp: C:/Python39/python.exe (found suitable version "3.9.6", minimum required is "3.5")
-- Found python_cmake_module: 0.8.1 (C:/opt/ros/galactic2/share/python_cmake_module/cmake)
-- Using PYTHON_EXECUTABLE: C:/Python39/python.exe
-- Using PYTHON_INCLUDE_DIRS: C ...