Skip to content

added topic_based_ros2_control#346

Merged
traversaro merged 4 commits into
RoboStack:mainfrom
TedVanderfeen:add_package/topic_based_ros2_control
Sep 10, 2025
Merged

added topic_based_ros2_control#346
traversaro merged 4 commits into
RoboStack:mainfrom
TedVanderfeen:add_package/topic_based_ros2_control

Conversation

@TedVanderfeen
Copy link
Copy Markdown
Contributor

@TedVanderfeen
Copy link
Copy Markdown
Contributor Author

TedVanderfeen commented Sep 10, 2025

Looks like everything but MacOS built in the CI.

The current vinca.yaml does not have a section for if linux or win. Seeing as this is being added as a dependency for IsaacSim specific packages, excluding MacOS from the available platforms seems acceptable to me. So the options now are:

  • I can add this to linux only (Not sure how popular this package is. ROS index reports unmaintained, but there was a patch on the 16/8/25).

  • I can add a new section to the vinca.yaml that targets windows and linux seeing as the build appears to have passed anyway.

I'll go with the former for now. I can correct the PR on review if requested.

p.s. Is there a functional reason for there being two if: linux then: ... sections in the vinca.yaml?

@traversaro
Copy link
Copy Markdown
Member

p.s. Is there a functional reason for there being two if: linux then: ... sections in the vinca.yaml?

Not a functional reason, but I just did that to separate between packages that are only built on Linux as they depend on Linux-only API (so realistically will never compile outside of Linux) and packages that have compilation failures that realistically can be fixed.

@traversaro
Copy link
Copy Markdown
Member

The macOS failure is:

2025-09-10T05:13:04.4624540Z  │ │ [1/3] Building CXX object CMakeFiles/topic_based_ros2_control.dir/src/topic_based_system.cpp.o
2025-09-10T05:13:04.4726020Z  │ │ FAILED: [code=1] CMakeFiles/topic_based_ros2_control.dir/src/topic_based_system.cpp.o 
2025-09-10T05:13:04.4837870Z  │ │ $BUILD_PREFIX/bin/arm64-apple-darwin20.0.0-clang++ -DDEFAULT_RMW_IMPLEMENTATION=rmw_cyclonedds_cpp -DTINYXML2_IMPORT -D_FILE_OFFSET_BITS=64 -Dtopic_based_ros2_control_EXPORTS -I$PREFIX/include/pluginlib -I$PREFIX/include/rclcpp_lifecycle -I$SRC_DIR/ros-humble-topic-based-ros2-control/src/work/include -isystem $PREFIX/include/angles -isystem $PREFIX/include/rclcpp -isystem $PREFIX/include/sensor_msgs -isystem $PREFIX/include/python3.11 -isystem $PREFIX/lib/python3.11/site-packages/numpy/core/include -isystem $PREFIX/include/control_msgs -isystem $PREFIX/include/lifecycle_msgs -isystem $PREFIX/include/rcpputils -isystem $PREFIX/include/rcutils -isystem $PREFIX/include/ament_index_cpp -isystem $PREFIX/include/libstatistics_collector -isystem $PREFIX/include/builtin_interfaces -isystem $PREFIX/include/rosidl_runtime_c -isystem $PREFIX/include/rosidl_typesupport_interface -isystem $PREFIX/include/rosidl_runtime_cpp -isystem $PREFIX/include/rosidl_typesupport_fastrtps_cpp -isystem $PREFIX/include/rmw -isystem $PREFIX/include/rosidl_typesupport_fastrtps_c -isystem $PREFIX/include/rosidl_typesupport_introspection_c -isystem $PREFIX/include/rosidl_typesupport_introspection_cpp -isystem $PREFIX/include/rcl -isystem $PREFIX/include/rcl_interfaces -isystem $PREFIX/include/rcl_logging_interface -isystem $PREFIX/include/rcl_yaml_param_parser -isystem $PREFIX/include/tracetools -isystem $PREFIX/include/statistics_msgs -isystem $PREFIX/include/rosgraph_msgs -isystem $PREFIX/include/rosidl_typesupport_cpp -isystem $PREFIX/include/rosidl_typesupport_c -isystem $PREFIX/include/geometry_msgs -isystem $PREFIX/include/std_msgs -isystem $PREFIX/include/rcl_lifecycle -isystem $PREFIX/include/class_loader -isystem $PREFIX/include/action_msgs -isystem $PREFIX/include/unique_identifier_msgs -isystem $PREFIX/include/trajectory_msgs -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc++ -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ros-humble-topic-based-ros2-control-0.2.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -DNDEBUG -arch arm64 -isysroot /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -mmacosx-version-min=10.15 -fPIC -Werror -Wall -Wextra -Wpedantic -Wshadow -Wsign-conversion -Winit-self -Wredundant-decls -MD -MT CMakeFiles/topic_based_ros2_control.dir/src/topic_based_system.cpp.o -MF CMakeFiles/topic_based_ros2_control.dir/src/topic_based_system.cpp.o.d -o CMakeFiles/topic_based_ros2_control.dir/src/topic_based_system.cpp.o -c $SRC_DIR/ros-humble-topic-based-ros2-control/src/work/src/topic_based_system.cpp
2025-09-10T05:13:04.4928670Z  │ │ In file included from $SRC_DIR/ros-humble-topic-based-ros2-control/src/work/src/topic_based_system.cpp:39:
2025-09-10T05:13:04.5028690Z  │ │ In file included from $PREFIX/include/rclcpp/rclcpp/executors.hpp:21:
2025-09-10T05:13:04.5106150Z  │ │ In file included from $PREFIX/include/rclcpp/rclcpp/executors/multi_threaded_executor.hpp:25:
2025-09-10T05:13:04.5144140Z  │ │ In file included from $PREFIX/include/rclcpp/rclcpp/executor.hpp:37:
2025-09-10T05:13:04.5244720Z  │ │ In file included from $PREFIX/include/rclcpp/rclcpp/executor_options.hpp:20:
2025-09-10T05:13:04.5345920Z  │ │ In file included from $PREFIX/include/rclcpp/rclcpp/memory_strategies.hpp:18:
2025-09-10T05:13:04.5369970Z  │ │ In file included from $PREFIX/include/rclcpp/rclcpp/memory_strategy.hpp:25:
2025-09-10T05:13:04.5375520Z  │ │ In file included from $PREFIX/include/rclcpp/rclcpp/any_executable.hpp:20:
2025-09-10T05:13:04.5376000Z  │ │ In file included from $PREFIX/include/rclcpp/rclcpp/callback_group.hpp:29:
2025-09-10T05:13:04.5376450Z  │ │ In file included from $PREFIX/include/rclcpp/rclcpp/subscription_base.hpp:32:
2025-09-10T05:13:04.5377510Z  │ │ $PREFIX/include/rclcpp/rclcpp/any_subscription_callback.hpp:391:7: error: 'set_deprecated<sensor_msgs::msg::JointState_<std::allocator<void>>>' is deprecated: use 'void(std::shared_ptr<const MessageT>)' instead [-Werror,-Wdeprecated-declarations]
2025-09-10T05:13:04.5378450Z  │ │   391 |       set_deprecated(static_cast<typename scbth::callback_type>(callback));
2025-09-10T05:13:04.5378770Z  │ │       |       ^
2025-09-10T05:13:04.5379870Z  │ │ $PREFIX/include/rclcpp/rclcpp/subscription_factory.hpp:94:29: note: in instantiation of function template specialization 'rclcpp::AnySubscriptionCallback<sensor_msgs::msg::JointState_<std::allocator<void>>>::set<(lambda at $SRC_DIR/ros-humble-topic-based-ros2-control/src/work/src/topic_based_system.cpp:151:7)>' requested here
2025-09-10T05:13:04.5380980Z  │ │    94 |   any_subscription_callback.set(std::forward<CallbackT>(callback));
2025-09-10T05:13:04.5381760Z  │ │       |                             ^
2025-09-10T05:13:04.5383610Z  │ │ $PREFIX/include/rclcpp/rclcpp/create_subscription.hpp:122:26: note: in instantiation of function template specialization 'rclcpp::create_subscription_factory<sensor_msgs::msg::JointState_<std::allocator<void>>, (lambda at $SRC_DIR/ros-humble-topic-based-ros2-control/src/work/src/topic_based_system.cpp:151:7), std::allocator<void>, rclcpp::Subscription<sensor_msgs::msg::JointState_<std::allocator<void>>>, rclcpp::message_memory_strategy::MessageMemoryStrategy<sensor_msgs::msg::JointState_<std::allocator<void>>>, sensor_msgs::msg::JointState_<std::allocator<void>>>' requested here
2025-09-10T05:13:04.5385420Z  │ │   122 |   auto factory = rclcpp::create_subscription_factory<MessageT>(
2025-09-10T05:13:04.5385750Z  │ │       |                          ^
2025-09-10T05:13:04.5387850Z  │ │ $PREFIX/include/rclcpp/rclcpp/create_subscription.hpp:190:26: note: in instantiation of function template specialization 'rclcpp::detail::create_subscription<sensor_msgs::msg::JointState_<std::allocator<void>>, (lambda at $SRC_DIR/ros-humble-topic-based-ros2-control/src/work/src/topic_based_system.cpp:151:7), std::allocator<void>, rclcpp::Subscription<sensor_msgs::msg::JointState_<std::allocator<void>>>, rclcpp::message_memory_strategy::MessageMemoryStrategy<sensor_msgs::msg::JointState_<std::allocator<void>>>, rclcpp::Node, rclcpp::Node, sensor_msgs::msg::JointState_<std::allocator<void>>>' requested here
2025-09-10T05:13:04.5389530Z  │ │   190 |   return rclcpp::detail::create_subscription<
2025-09-10T05:13:04.5389790Z  │ │       |                          ^
2025-09-10T05:13:04.5391390Z  │ │ $PREFIX/include/rclcpp/rclcpp/node_impl.hpp:99:18: note: in instantiation of function template specialization 'rclcpp::create_subscription<sensor_msgs::msg::JointState_<std::allocator<void>>, (lambda at $SRC_DIR/ros-humble-topic-based-ros2-control/src/work/src/topic_based_system.cpp:151:7), std::allocator<void>, rclcpp::Subscription<sensor_msgs::msg::JointState_<std::allocator<void>>>, rclcpp::message_memory_strategy::MessageMemoryStrategy<sensor_msgs::msg::JointState_<std::allocator<void>>>, rclcpp::Node>' requested here
2025-09-10T05:13:04.5392900Z  │ │    99 |   return rclcpp::create_subscription<MessageT>(
2025-09-10T05:13:04.5393150Z  │ │       |                  ^
2025-09-10T05:13:04.5394830Z  │ │ $SRC_DIR/ros-humble-topic-based-ros2-control/src/work/src/topic_based_system.cpp:149:49: note: in instantiation of function template specialization 'rclcpp::Node::create_subscription<sensor_msgs::msg::JointState_<std::allocator<void>>, (lambda at $SRC_DIR/ros-humble-topic-based-ros2-control/src/work/src/topic_based_system.cpp:151:7), std::allocator<void>, rclcpp::Subscription<sensor_msgs::msg::JointState_<std::allocator<void>>>, rclcpp::message_memory_strategy::MessageMemoryStrategy<sensor_msgs::msg::JointState_<std::allocator<void>>>>' requested here
2025-09-10T05:13:04.5396640Z  │ │   149 |   topic_based_joint_states_subscriber_ = node_->create_subscription<sensor_msgs::msg::JointState>(
2025-09-10T05:13:04.5397040Z  │ │       |                                                 ^
2025-09-10T05:13:04.5397730Z  │ │ $PREFIX/include/rclcpp/rclcpp/any_subscription_callback.hpp:405:5: note: 'set_deprecated<sensor_msgs::msg::JointState_<std::allocator<void>>>' has been explicitly marked deprecated here
2025-09-10T05:13:04.5398430Z  │ │   405 |   [[deprecated("use 'void(std::shared_ptr<const MessageT>)' instead")]]
2025-09-10T05:13:04.5398710Z  │ │       |     ^
2025-09-10T05:13:04.5398900Z  │ │ 1 error generated.

a classical use of Werror enabled by default, that is not ideal for package managers. I think we can easily patch those.

@traversaro
Copy link
Copy Markdown
Member

I think we can easily patch those.

Actually, it was already patched upstream: PickNikRobotics/topic_based_ros2_control#36 .

@traversaro
Copy link
Copy Markdown
Member

@TedVanderfeen the patch seems to be working fine, feel free to let me know if it is ok to merge, thanks!

@TedVanderfeen
Copy link
Copy Markdown
Contributor Author

LGTM. Thanks @traversaro!

@traversaro traversaro merged commit 677517b into RoboStack:main Sep 10, 2025
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants