The isaac_ros_tensor_list_interfaces package (likely among others), since the DP3 update, now has a dependency on isaac_ros_common, and similarly now requires a minimum CMake version of 3.23.2 (presumably both of these changes have something to do with trying to load common CMake arguments as per this file).
This introduces a challenging breaking change to resolve for those looking to develop lightweight nodes who depend solely on these interfaces. I'd argue that there is no compelling reason to make this interface package depend on the isaac_ros_common package (and therefore its upstream dependencies), as it's solely providing some .msg definitions. It also does not warrant such a high CMake version requirement.
Some specific scenarios/challenges that I've encountered when trying to develop a node that subscribes to the a TensorList topic as published by isaac_ros_dnn_inference running a Triton Inference Server:
- CMake minimum version: The official ROS2 Humble docker image ships with Ubuntu 22.04, and the default repositories only supply up to CMake version 3.22.1 as the most recent version. In order to meet this CMake version requirement, one would need to build CMake from source (assuming they're not using an Nvidia-provided base image including a newer version, which would otherwise be unnecessary).
- Dependency on
isaac_ros_common: There should be no need for isaac_ros_common to be a dependency of this interfaces package, as all defined message types contained within isaac_ros_tensor_list_interfaces can safely be compiled without this dependency. I feel the build dependencies should be strictly used only when necessary, and this particular subpackage doesn't seem to fit that criteria.
The
isaac_ros_tensor_list_interfacespackage (likely among others), since the DP3 update, now has a dependency onisaac_ros_common, and similarly now requires a minimumCMakeversion of3.23.2(presumably both of these changes have something to do with trying to load common CMake arguments as per this file).This introduces a challenging breaking change to resolve for those looking to develop lightweight nodes who depend solely on these interfaces. I'd argue that there is no compelling reason to make this interface package depend on the
isaac_ros_commonpackage (and therefore its upstream dependencies), as it's solely providing some.msgdefinitions. It also does not warrant such a high CMake version requirement.Some specific scenarios/challenges that I've encountered when trying to develop a node that subscribes to the a TensorList topic as published by
isaac_ros_dnn_inferencerunning a Triton Inference Server:isaac_ros_common: There should be no need forisaac_ros_commonto be a dependency of this interfaces package, as all defined message types contained withinisaac_ros_tensor_list_interfacescan safely be compiled without this dependency. I feel the build dependencies should be strictly used only when necessary, and this particular subpackage doesn't seem to fit that criteria.