L’équipe du gestionnaire de paquets Conan publie des recettes pour construire ROS 2 Kilted depuis les sources et l’utiliser comme une dépendance C++ ordinaire. Le projet vise Linux, macOS et Windows, avec CMake ou colcon.
Le dépôt conan-io/ros-conan propose une autre manière d’installer ROS 2. Au lieu de préparer une distribution système avec rosdep et les paquets propres à chaque plateforme, un développeur peut déclarer ros-kilted/2026.06.17 dans sa configuration Conan, puis laisser l’outil construire et mettre en cache les composants manquants.
ROS 2 dans le même graphe que les bibliothèques C++
Conan traite ROS 2 comme les autres dépendances du projet. Une application CMake peut ainsi appeler find_package(rclcpp REQUIRED) et lier directement la cible rclcpp::rclcpp, sans adopter obligatoirement une arborescence colcon ou ament. Les espaces de travail colcon restent pris en charge pour les équipes qui souhaitent conserver leur organisation actuelle.
Quatre variantes structurent le périmètre. La version core rassemble les bibliothèques de base, dont rcl, rclcpp, rclpy et les interfaces communes. base ajoute notamment tf2 et robot_state_publisher. desktop apporte RViz2 et les outils graphiques, tandis que desktop_full, encore en chantier, doit étendre l’ensemble à la simulation et à la perception.
Un intérêt particulier pour les environnements multiplateformes
Les recettes sont testées sur Ubuntu 24.04, Windows Server 2022 et macOS 15. Les architectures x86_64 et Arm64 sont couvertes selon les variantes. Cette matrice peut aider les éditeurs de logiciels robotiques qui développent sur ordinateur avant de déployer sur une cible Arm.
L’autre avantage est la reproductibilité. Les versions choisies peuvent être verrouillées par projet et coexister dans le cache Conan. Une équipe peut donc tester plusieurs configurations de ROS sans modifier l’installation globale de la machine. Les conflits avec OpenCV, Eigen ou d’autres bibliothèques C++ deviennent visibles dans un graphe de dépendances commun.
Une première version encore incomplète
Le dépôt ne prétend pas empaqueter tout l’écosystème ROS. Les variantes couvrent les ensembles courants et certains paquets devront encore être ajoutés. La première construction peut aussi être longue puisqu’elle compile ROS et les dépendances absentes depuis les sources.
Cette publication reste néanmoins notable pour les outils robotiques. Elle rapproche ROS 2 des pratiques classiques de gestion de dépendances C++ et offre une voie supplémentaire aux équipes qui doivent maintenir le même logiciel sur plusieurs systèmes d’exploitation.
