This repository was archived by the owner on Oct 17, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 132
This repository was archived by the owner on Oct 17, 2025. It is now read-only.
Build Failure: Unable to Build gazebo_ros2_control on Windows #377
Copy link
Copy link
Open
Description
Description:
I am encountering an issue while trying to build the gazebo_ros2_control package on a Windows environment. The build fails with the following error log. I've anonymized any user-specific data in the output. Please advise on how to resolve this issue.
Error Log (Anonymized):
C:\Path\To\Anaconda\envs\gazebo\Library\include\absl/base/prefetch.h(183): warning C4100: 'addr': formal parameter not referenced
C:\Path\To\Anaconda\envs\gazebo\Library\include\google/protobuf/inlined_string_field.h(378): warning C4100: 'arena': formal parameter not referenced
C:\Path\To\Anaconda\envs\gazebo\Library\include\absl/container/internal/hashtablez_sampler.h(210): warning C4100: 'inline_element_size': formal parameter not referenced
C:\Path\To\Anaconda\envs\gazebo\Library\include\google/protobuf/descriptor.h(2239): warning C4100: 'message': formal parameter not referenced
C:\Path\To\Anaconda\envs\gazebo\Library\include\google/protobuf/descriptor.h(2238): warning C4100: 'location': formal parameter not referenced
C:\Path\To\Anaconda\envs\gazebo\Library\include\google/protobuf/descriptor.h(2238): warning C4100: 'descriptor': formal parameter not referenced
C:\Path\To\Anaconda\envs\gazebo\Library\include\google/protobuf/descriptor.h(2237): warning C4100: 'element_name': formal parameter not referenced
C:\Path\To\Anaconda\envs\gazebo\Library\include\google/protobuf/descriptor.h(2236): warning C4100: 'filename': formal parameter not referenced
C:\Path\To\Anaconda\envs\gazebo\Library\include\google/protobuf/descriptor.h(2246): warning C4100: 'message': formal parameter not referenced
C:\Path\To\Anaconda\envs\gazebo\Library\include\google/protobuf/descriptor.h(2245): warning C4100: 'location': formal parameter not referenced
C:\Path\To\Anaconda\envs\gazebo\Library\include\google/protobuf/descriptor.h(2245): warning C4100: 'descriptor': formal parameter not referenced
C:\Path\To\Anaconda\envs\gazebo\Library\include\google/protobuf/descriptor.h(2244): warning C4100: 'element_name': formal parameter not referenced
C:\Path\To\Anaconda\envs\gazebo\Library\include\google/protobuf/descriptor.h(2243): warning C4100: 'filename': formal parameter not referenced
C:\Path\To\Anaconda\envs\gazebo\Library\include\google/protobuf/map.h(689): warning C4244: 'initializing': conversion from 'uintptr_t' to 'google::protobuf::internal::map_index_t', possible loss of data
C:\Path\To\Anaconda\envs\gazebo\Library\include\gazebo-11\gazebo/common/Dem.hh(121): warning C4373: 'gazebo::common::Dem::FillHeightMap': virtual function overrides 'gazebo::common::HeightmapData::FillHeightMap', previous versions of the compiler did not override when parameters differed only in const/volatile qualifiers
C:\Path\To\Anaconda\envs\gazebo\Library\include\gazebo-11\gazebo/common/HeightmapData.hh(55): note: see the declaration of 'gazebo::common::HeightmapData::FillHeightMap'
C:\Path\To\Desktop\YourProject\install\include\hardware_interface/types/hardware_interface_return_values.hpp(25): error C2143: syntax error: missing '}' before 'constant'
C:\Path\To\Desktop\YourProject\install\include\hardware_interface/types/hardware_interface_return_values.hpp(25): error C2059: syntax error: 'constant'
C:\Path\To\Desktop\YourProject\install\include\hardware_interface/types/hardware_interface_return_values.hpp(26): error C2143: syntax error: missing ';' before '}'
C:\Path\To\Desktop\YourProject\install\include\hardware_interface/types/hardware_interface_return_values.hpp(28): error C2059: syntax error: '}'
C:\Path\To\Desktop\YourProject\install\include\hardware_interface/types/hardware_interface_return_values.hpp(28): error C2143: syntax error: missing ';' before '}'
C:\Path\To\Desktop\YourProject\install\include\hardware_interface/types/lifecycle_state_names.hpp(23): error C2143: syntax error: missing ';' before '{'
C:\Path\To\Desktop\YourProject\install\include\hardware_interface/types/lifecycle_state_names.hpp(23): error C2447: '{': missing function header (old-style formal list?)
<path_to_ros>/include/rclcpp_lifecycle/rclcpp_lifecycle/node_interfaces/lifecycle_node_interface.hpp(53): error C2143: syntax error: missing '}' before 'constant'
<path_to_ros>/include/rclcpp_lifecycle/rclcpp_lifecycle/node_interfaces/lifecycle_node_interface.hpp(53): error C2059: syntax error: 'constant'
<path_to_ros>/include/rclcpp_lifecycle/rclcpp_lifecycle/node_interfaces/lifecycle_node_interface.hpp(54): error C2143: syntax error: missing ';' before '}'
<path_to_ros>/include/rclcpp_lifecycle/rclcpp_lifecycle/node_interfaces/lifecycle_node_interface.hpp(54): error C2238: unexpected token(s) preceding ';'
<path_to_ros>/include/rclcpp_lifecycle/rclcpp_lifecycle/node_interfaces/lifecycle_node_interface.hpp(62): error C2433: 'CallbackReturn': 'virtual' not allowed in data declarations
<path_to_ros>/include/rclcpp_lifecycle/rclcpp_lifecycle/node_interfaces/lifecycle_node_interface.hpp(62): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
<path_to_ros>/include/rclcpp_lifecycle/rclcpp_lifecycle/node_interfaces/lifecycle_node_interface.hpp(62): error C2146: syntax error: missing ';' before identifier 'on_configure'
<path_to_ros>/include/rclcpp_lifecycle/rclcpp_lifecycle/node_interfaces/lifecycle_node_interface.hpp(62): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
<path_to_ros>/include/rclcpp_lifecycle/rclcpp_lifecycle/node_interfaces/lifecycle_node_interface.hpp(70): error C2433: 'CallbackReturn': 'virtual' not allowed in data declarations
<path_to_ros>/include/rclcpp_lifecycle/rclcpp_lifecycle/node_interfaces/lifecycle_node_interface.hpp(70): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
<path_to_ros>/include/rclcpp_lifecycle/rclcpp_lifecycle/node_interfaces/lifecycle_node_interface.hpp(70): error C2146: syntax error: missing ';' before identifier 'on_cleanup'
<path_to_ros>/include/rclcpp_lifecycle/rclcpp_lifecycle/node_interfaces/lifecycle_node_interface.hpp(70): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
<path_to_ros>/include/rclcpp_lifecycle/rclcpp_lifecycle/node_interfaces/lifecycle_node_interface.hpp(78): error C2433: 'CallbackReturn': 'virtual' not allowed in data declarations
<path_to_ros>/include/rclcpp_lifecycle/rclcpp_lifecycle/node_interfaces/lifecycle_node_interface.hpp(78): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
<path_to_ros>/include/rclcpp_lifecycle/rclcpp_lifecycle/node_interfaces/lifecycle_node_interface.hpp(78): error C2146: syntax error: missing ';' before identifier 'on_shutdown'
<path_to_ros>/include/rclcpp_lifecycle/rclcpp_lifecycle/node_interfaces/lifecycle_node_interface.hpp(78): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
<path_to_ros>/include/rclcpp_lifecycle/rclcpp_lifecycle/node_interfaces/lifecycle_node_interface.hpp(86): error C2433: 'CallbackReturn': 'virtual' not allowed in data declarations
<path_to_ros>/include/rclcpp_lifecycle/rclcpp_lifecycle/node_interfaces/lifecycle_node_interface.hpp(86): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
<path_to_ros>/include/rclcpp_lifecycle/rclcpp_lifecycle/node_interfaces/lifecycle_node_interface.hpp(86): error C2146: syntax error: missing ';' before identifier 'on_activate'
<path_to_ros>/include/rclcpp_lifecycle/rclcpp_lifecycle/node_interfaces/lifecycle_node_interface.hpp(86): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
<path_to_ros>/include/rclcpp_lifecycle/rclcpp_lifecycle/node_interfaces/lifecycle_node_interface.hpp(94): error C2433: 'CallbackReturn': 'virtual' not allowed in data declarations
<path_to_ros>/include/rclcpp_lifecycle/rclcpp_lifecycle/node_interfaces/lifecycle_node_interface.hpp(94): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
<path_to_ros>/include/rclcpp_lifecycle/rclcpp_lifecycle/node_interfaces/lifecycle_node_interface.hpp(94): error C2146: syntax error: missing ';' before identifier 'on_deactivate'
<path_to_ros>/include/rclcpp_lifecycle/rclcpp_lifecycle/node_interfaces/lifecycle_node_interface.hpp(94): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
<path_to_ros>/include/rclcpp_lifecycle/rclcpp_lifecycle/node_interfaces/lifecycle_node_interface.hpp(102): error C2433: 'CallbackReturn': 'virtual' not allowed in data declarations
<path_to_ros>/include/rclcpp_lifecycle/rclcpp_lifecycle/node_interfaces/lifecycle_node_interface.hpp(102): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
<path_to_ros>/include/rclcpp_lifecycle/rclcpp_lifecycle/node_interfaces/lifecycle_node_interface.hpp(102): error C2146: syntax error: missing ';' before identifier 'on_error'
<path_to_ros>/include/rclcpp_lifecycle/rclcpp_lifecycle/node_interfaces/lifecycle_node_interface.hpp(102): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
<path_to_ros>/include/rclcpp_lifecycle/rclcpp_lifecycle/node_interfaces/lifecycle_node_interface.hpp(106): error C2588: '::~LifecycleNodeInterface': invalid global destructor
<path_to_ros>/include/rclcpp_lifecycle/rclcpp_lifecycle/node_interfaces/lifecycle_node_interface.hpp(106): error C2575: 'LifecycleNodeInterface': only member functions and base classes can be virtual
<path_to_ros>/include/rclcpp_lifecycle/rclcpp_lifecycle/node_interfaces/lifecycle_node_interface.hpp(106): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
<path_to_ros>/include/rclcpp_lifecycle/rclcpp_lifecycle/node_interfaces/lifecycle_node_interface.hpp(106): error C2491: 'rclcpp_lifecycle::node_interfaces::LifecycleNodeInterface': dllimport function definition not allowed
<path_to_ros>/include/rclcpp_lifecycle/rclcpp_lifecycle/node_interfaces/lifecycle_node_interface.hpp(106): warning C4508: 'rclcpp_lifecycle::node_interfaces::LifecycleNodeInterface': function should return a value; return type 'void' assumed
<path_to_ros>/include/rclcpp_lifecycle/rclcpp_lifecycle/node_interfaces/lifecycle_node_interface.hpp(110): error C2059: syntax error: '}'
<path_to_ros>/include/rclcpp_lifecycle/rclcpp_lifecycle/node_interfaces/lifecycle_node_interface.hpp(110): error C2143: syntax error: missing ';' before '}'
Environment:
- OS: Windows 11 Pro
- ROS Version: Humble
- Gazebo Version: 11.14.0
- Compiler: MSVC
I have already installed all necessary dependencies via vcpkg and configured the environment variables. Please let me know if additional details are required.
Steps to Reproduce:
- Clone
gazebo_ros2_controlrepository. - Run
colcon buildin the workspace on Windows.
Expected Behavior:
The build should complete successfully without errors.
Actual Behavior:
The build fails with the above-mentioned errors.
Metadata
Metadata
Assignees
Labels
No labels