Build errors in rclcpp benchmark tests

asked 2021-08-04 03:19:43 -0600

wl gravatar image

updated 2021-08-04 03:30:57 -0600

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 ...
(more)
edit retag flag offensive close merge delete