ros2 / rosidl

Packages which provide the ROS IDL (.msg) definition and code generation.
Apache License 2.0
75 stars 125 forks source link

`rosidl_typesupport_introspection_tests` failure while building for Windows - error count exceeds 100 #807

Open RParkerE opened 5 months ago

RParkerE commented 5 months ago

Bug report

Required Info:

Steps to reproduce issue

Follow ROS2 Windows build instructions. (with fix #96 for resource_retriever)

Expected behavior

Build succeeded

Actual behavior

Error when building rosidl_typesupport_introspection_tests Failing with fatal error C1003: error count exceeds 100

Additional information

I can provide the full output of the log file, but since it is over 2k lines long, for brevity, here is just the first 50 lines:

Microsoft (R) Build Engine version 16.11.2+f32259642 for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.

  rosidl_typesupport_introspection_tests__rosidl_generator_c.vcxproj -> C:\iron\build\rosidl_typesupport_introspection_tests\Release\rosidl_typesupport_introspection_tests__rosidl_generator_c.dll
  rosidl_typesupport_introspection_tests__rosidl_typesupport_c.vcxproj -> C:\iron\build\rosidl_typesupport_introspection_tests\Release\rosidl_typesupport_introspection_tests__rosidl_typesupport_c.dll
  rosidl_typesupport_introspection_tests__rosidl_typesupport_cpp.vcxproj -> C:\iron\build\rosidl_typesupport_introspection_tests\Release\rosidl_typesupport_introspection_tests__rosidl_typesupport_cpp.dll
  rosidl_typesupport_introspection_tests__rosidl_typesupport_fastrtps_c.vcxproj -> C:\iron\build\rosidl_typesupport_introspection_tests\Release\rosidl_typesupport_introspection_tests__rosidl_typesupport_fastrtps_c.dll
  rosidl_typesupport_introspection_tests__rosidl_typesupport_fastrtps_cpp.vcxproj -> C:\iron\build\rosidl_typesupport_introspection_tests\Release\rosidl_typesupport_introspection_tests__rosidl_typesupport_fastrtps_cpp.dll
  rosidl_typesupport_introspection_tests__rosidl_typesupport_introspection_c.vcxproj -> C:\iron\build\rosidl_typesupport_introspection_tests\Release\rosidl_typesupport_introspection_tests__rosidl_typesupport_introspection_c.dll
  rosidl_typesupport_introspection_tests__rosidl_typesupport_introspection_cpp.vcxproj -> C:\iron\build\rosidl_typesupport_introspection_tests\Release\rosidl_typesupport_introspection_tests__rosidl_typesupport_introspection_cpp.dll
  gtest.vcxproj -> C:\iron\build\rosidl_typesupport_introspection_tests\gtest\Release\gtest.lib
  gtest_main.vcxproj -> C:\iron\build\rosidl_typesupport_introspection_tests\gtest\Release\gtest_main.lib
  test_arrays_message_introspection.cpp
C:\iron\build\rosidl_typesupport_introspection_tests\rosidl_generator_c\rosidl_typesupport_introspection_tests/msg/detail/basic_types__struct.h(1,1): warning C4821: Unable to determine Unicode encoding type, please save the file with signature (BOM) [C:\iron\build\rosidl_typesupport_introspection_tests\test_arrays_message_introspection.vcxproj]
C:\iron\build\rosidl_typesupport_introspection_tests\rosidl_generator_c\rosidl_typesupport_introspection_tests/msg/detail/constants__struct.h(1,1): warning C4821: Unable to determine Unicode encoding type, please save the file with signature (BOM) [C:\iron\build\rosidl_typesupport_introspection_tests\test_arrays_message_introspection.vcxproj]
C:\iron\build\rosidl_typesupport_introspection_tests\rosidl_generator_c\rosidl_typesupport_introspection_tests/msg/detail/defaults__struct.h(1,1): warning C4821: Unable to determine Unicode encoding type, please save the file with signature (BOM) [C:\iron\build\rosidl_typesupport_introspection_tests\test_arrays_message_introspection.vcxproj]
C:\iron\build\rosidl_typesupport_introspection_tests\rosidl_generator_c\rosidl_typesupport_introspection_tests/msg/detail/arrays__struct.h(50,59): error C3646: 'basic_types_values': unknown override specifier [C:\iron\build\rosidl_typesupport_introspection_tests\test_arrays_message_introspection.vcxproj]
C:\iron\build\rosidl_typesupport_introspection_tests\rosidl_generator_c\rosidl_typesupport_introspection_tests/msg/detail/arrays__struct.h(50,77): error C2143: syntax error: missing ',' before '[' [C:\iron\build\rosidl_typesupport_introspection_tests\test_arrays_message_introspection.vcxproj]
C:\iron\build\rosidl_typesupport_introspection_tests\rosidl_generator_c\rosidl_typesupport_introspection_tests/msg/detail/arrays__struct.h(50,80): error C2238: unexpected token(s) preceding ';' [C:\iron\build\rosidl_typesupport_introspection_tests\test_arrays_message_introspection.vcxproj]
C:\iron\build\rosidl_typesupport_introspection_tests\rosidl_generator_c\rosidl_typesupport_introspection_tests/msg/detail/arrays__struct.h(51,58): error C3646: 'constants_values': unknown override specifier [C:\iron\build\rosidl_typesupport_introspection_tests\test_arrays_message_introspection.vcxproj]
C:\iron\build\rosidl_typesupport_introspection_tests\rosidl_generator_c\rosidl_typesupport_introspection_tests/msg/detail/arrays__struct.h(51,74): error C2143: syntax error: missing ',' before '[' [C:\iron\build\rosidl_typesupport_introspection_tests\test_arrays_message_introspection.vcxproj]
C:\iron\build\rosidl_typesupport_introspection_tests\rosidl_generator_c\rosidl_typesupport_introspection_tests/msg/detail/arrays__struct.h(51,77): error C2238: unexpected token(s) preceding ';' [C:\iron\build\rosidl_typesupport_introspection_tests\test_arrays_message_introspection.vcxproj]
C:\iron\build\rosidl_typesupport_introspection_tests\rosidl_generator_c\rosidl_typesupport_introspection_tests/msg/detail/arrays__struct.h(52,57): error C3646: 'defaults_values': unknown override specifier [C:\iron\build\rosidl_typesupport_introspection_tests\test_arrays_message_introspection.vcxproj]
C:\iron\build\rosidl_typesupport_introspection_tests\rosidl_generator_c\rosidl_typesupport_introspection_tests/msg/detail/arrays__struct.h(52,72): error C2143: syntax error: missing ',' before '[' [C:\iron\build\rosidl_typesupport_introspection_tests\test_arrays_message_introspection.vcxproj]
C:\iron\build\rosidl_typesupport_introspection_tests\rosidl_generator_c\rosidl_typesupport_introspection_tests/msg/detail/arrays__struct.h(52,75): error C2238: unexpected token(s) preceding ';' [C:\iron\build\rosidl_typesupport_introspection_tests\test_arrays_message_introspection.vcxproj]
C:\iron\build\rosidl_typesupport_introspection_tests\rosidl_generator_c\rosidl_typesupport_introspection_tests/msg/detail/basic_types__struct.h(1,1): warning C4821: Unable to determine Unicode encoding type, please save the file with signature (BOM) [C:\iron\build\rosidl_typesupport_introspection_tests\test_arrays_message_introspection.vcxproj]
C:\iron\build\rosidl_typesupport_introspection_tests\rosidl_generator_c\rosidl_typesupport_introspection_tests/msg/detail/basic_types__struct.h(1,1): warning C4821: Unable to determine Unicode encoding type, please save the file with signature (BOM) [C:\iron\build\rosidl_typesupport_introspection_tests\test_arrays_message_introspection.vcxproj]
C:\iron\build\rosidl_typesupport_introspection_tests\rosidl_generator_c\rosidl_typesupport_introspection_tests/msg/detail/basic_types__functions.h(42,63): error C2065: 'rosidl_typesupport_introspection_tests__msg__BasicTypes': undeclared identifier [C:\iron\build\rosidl_typesupport_introspection_tests\test_arrays_message_introspection.vcxproj]
C:\iron\build\rosidl_typesupport_introspection_tests\rosidl_generator_c\rosidl_typesupport_introspection_tests/msg/detail/basic_types__functions.h(42,121): error C2065: 'msg': undeclared identifier [C:\iron\build\rosidl_typesupport_introspection_tests\test_arrays_message_introspection.vcxproj]
C:\iron\build\rosidl_typesupport_introspection_tests\rosidl_generator_c\rosidl_typesupport_introspection_tests/msg/detail/basic_types__functions.h(42,124): error C2491: 'rosidl_typesupport_introspection_tests__msg__BasicTypes__init': definition of dllimport data not allowed [C:\iron\build\rosidl_typesupport_introspection_tests\test_arrays_message_introspection.vcxproj]
C:\iron\build\rosidl_typesupport_introspection_tests\rosidl_generator_c\rosidl_typesupport_introspection_tests/msg/detail/basic_types__functions.h(50,63): error C2065: 'rosidl_typesupport_introspection_tests__msg__BasicTypes': undeclared identifier [C:\iron\build\rosidl_typesupport_introspection_tests\test_arrays_message_introspection.vcxproj]
C:\iron\build\rosidl_typesupport_introspection_tests\rosidl_generator_c\rosidl_typesupport_introspection_tests/msg/detail/basic_types__functions.h(50,121): error C2065: 'msg': undeclared identifier [C:\iron\build\rosidl_typesupport_introspection_tests\test_arrays_message_introspection.vcxproj]
C:\iron\build\rosidl_typesupport_introspection_tests\rosidl_generator_c\rosidl_typesupport_introspection_tests/msg/detail/basic_types__functions.h(50,1): error C2182: 'rosidl_typesupport_introspection_tests__msg__BasicTypes__fini': illegal use of type 'void' [C:\iron\build\rosidl_typesupport_introspection_tests\test_arrays_message_introspection.vcxproj]
C:\iron\build\rosidl_typesupport_introspection_tests\rosidl_generator_c\rosidl_typesupport_introspection_tests/msg/detail/basic_types__functions.h(50,124): error C2491: 'rosidl_typesupport_introspection_tests__msg__BasicTypes__fini': definition of dllimport data not allowed [C:\iron\build\rosidl_typesupport_introspection_tests\test_arrays_message_introspection.vcxproj]
C:\iron\build\rosidl_typesupport_introspection_tests\rosidl_generator_c\rosidl_typesupport_introspection_tests/msg/detail/basic_types__functions.h(61,57): error C2143: syntax error: missing ';' before '*' [C:\iron\build\rosidl_typesupport_introspection_tests\test_arrays_message_introspection.vcxproj]
C:\iron\build\rosidl_typesupport_introspection_tests\rosidl_generator_c\rosidl_typesupport_introspection_tests/msg/detail/basic_types__functions.h(61,57): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [C:\iron\build\rosidl_typesupport_introspection_tests\test_arrays_message_introspection.vcxproj]
C:\iron\build\rosidl_typesupport_introspection_tests\rosidl_generator_c\rosidl_typesupport_introspection_tests/msg/detail/basic_types__functions.h(62,66): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [C:\iron\build\rosidl_typesupport_introspection_tests\test_arrays_message_introspection.vcxproj]
C:\iron\build\rosidl_typesupport_introspection_tests\rosidl_generator_c\rosidl_typesupport_introspection_tests/msg/detail/basic_types__functions.h(73,124): error C2065: 'msg': undeclared identifier [C:\iron\build\rosidl_typesupport_introspection_tests\test_arrays_message_introspection.vcxproj]
C:\iron\build\rosidl_typesupport_introspection_tests\rosidl_generator_c\rosidl_typesupport_introspection_tests/msg/detail/basic_types__functions.h(73,1): error C2182: 'rosidl_typesupport_introspection_tests__msg__BasicTypes__destroy': illegal use of type 'void' [C:\iron\build\rosidl_typesupport_introspection_tests\test_arrays_message_introspection.vcxproj]
C:\iron\build\rosidl_typesupport_introspection_tests\rosidl_generator_c\rosidl_typesupport_introspection_tests/msg/detail/basic_types__functions.h(73,127): error C2491: 'rosidl_typesupport_introspection_tests__msg__BasicTypes__destroy': definition of dllimport data not allowed [C:\iron\build\rosidl_typesupport_introspection_tests\test_arrays_message_introspection.vcxproj]
C:\iron\build\rosidl_typesupport_introspection_tests\rosidl_generator_c\rosidl_typesupport_introspection_tests/msg/detail/basic_types__functions.h(83,130): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [C:\iron\build\rosidl_typesupport_introspection_tests\test_arrays_message_introspection.vcxproj]
C:\iron\build\rosidl_typesupport_introspection_tests\rosidl_generator_c\rosidl_typesupport_introspection_tests/msg/detail/basic_types__functions.h(83,130): error C2143: syntax error: missing ',' before '*' [C:\iron\build\rosidl_typesupport_introspection_tests\test_arrays_message_introspection.vcxproj]
C:\iron\build\rosidl_typesupport_introspection_tests\rosidl_generator_c\rosidl_typesupport_introspection_tests/msg/detail/basic_types__functions.h(99,65): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [C:\iron\build\rosidl_typesupport_introspection_tests\test_arrays_message_introspection.vcxproj]
C:\iron\build\rosidl_typesupport_introspection_tests\rosidl_generator_c\rosidl_typesupport_introspection_tests/msg/detail/basic_types__functions.h(99,65): error C2143: syntax error: missing ',' before '*' [C:\iron\build\rosidl_typesupport_introspection_tests\test_arrays_message_introspection.vcxproj]
C:\iron\build\rosidl_typesupport_introspection_tests\rosidl_generator_c\rosidl_typesupport_introspection_tests/msg/detail/basic_types__functions.h(139,73): error C2065: 'rosidl_typesupport_introspection_tests__msg__BasicTypes__Sequence': undeclared identifier [C:\iron\build\rosidl_typesupport_introspection_tests\test_arrays_message_introspection.vcxproj]
C:\iron\build\rosidl_typesupport_introspection_tests\rosidl_generator_c\rosidl_typesupport_introspection_tests/msg/detail/basic_types__functions.h(139,141): error C2065: 'array': undeclared identifier [C:\iron\build\rosidl_typesupport_introspection_tests\test_arrays_message_introspection.vcxproj]
C:\iron\build\rosidl_typesupport_introspection_tests\rosidl_generator_c\rosidl_typesupport_introspection_tests/msg/detail/basic_types__functions.h(139,148): error C2275: 'size_t': illegal use of this type as an expression [C:\iron\build\rosidl_typesupport_introspection_tests\test_arrays_message_introspection.vcxproj]
C:\iron\src\ros2\rosidl\rosidl_typesupport_introspection_tests\test\test_arrays_message_introspection.cpp : message : see declaration of 'size_t' [C:\iron\build\rosidl_typesupport_introspection_tests\test_arrays_message_introspection.vcxproj]
C:\iron\build\rosidl_typesupport_introspection_tests\rosidl_generator_c\rosidl_typesupport_introspection_tests/msg/detail/basic_types__functions.h(139,155): error C2146: syntax error: missing ')' before identifier 'size' [C:\iron\build\rosidl_typesupport_introspection_tests\test_arrays_message_introspection.vcxproj]
C:\iron\build\rosidl_typesupport_introspection_tests\rosidl_generator_c\rosidl_typesupport_introspection_tests/msg/detail/basic_types__functions.h(151,73): error C2065: 'rosidl_typesupport_introspection_tests__msg__BasicTypes__Sequence': undeclared identifier [C:\iron\build\rosidl_typesupport_introspection_tests\test_arrays_message_introspection.vcxproj]
RParkerE commented 5 months ago

Some more information: I decided to run colcon build --merge-install --continue-on-error, to see if there were any other issues preventing ros from building, and it looks like only rosidl_typesupport_introspection_tests is failing.

In the meantime, I ripped share\rosidl_typesupport_introspection_test\ from the Windows binary release and replaced install\share\rosidl_typesupport_introspection_test, and I was able to run ros2.

Summary: 358 packages finished [55min 19s]
  1 package failed: rosidl_typesupport_introspection_tests
  48 packages had stderr output: action_tutorials_interfaces actionlib_msgs composition composition_interfaces demo_nodes_cpp demo_nodes_cpp_native diagnostic_msgs example_interfaces geometry_msgs image_tools intra_process_demo laser_geometry libstatistics_collector lifecycle lifecycle_msgs logging_demo map_msgs message_filters nav_msgs pendulum_msgs rcl rcl_interfaces rclcpp rmw_connextdds_common rmw_dds_common robot_state_publisher ros2cli_test_interfaces rosbag2_interfaces rosbag2_test_msgdefs rosgraph_msgs rqt_py_common sensor_msgs shape_msgs statistics_msgs std_msgs std_srvs stereo_msgs test_cli test_cli_remapping test_communication test_msgs test_rclcpp test_security test_tf2 tf2_msgs trajectory_msgs turtlesim visualization_msgs
WNDPROC return value cannot be converted to LRESULT
TypeError: WPARAM is simple, so must be an int object (got NoneType)
sloretz commented 5 months ago

It's strange that VS Code couldn't detect the file encoding.