Conan recipes for building ROS 2 from source. Pull ROS 2 and all its dependencies with a single conan install, no rosdep, apt, brew or choco required. Works with plain CMake projects and colcon workspaces, on Windows, macOS and Linux.
-
Install/use Python 3.12 REP-2000 lists the 3.12.3 Python version as the reference version on the Tier 1 platforms.
-
Install Conan 2 in a Python virtual environment:
python -m venv .venv source .venv/bin/activate # Windows: .venv\Scripts\activate pip install conan conan profile detect --force
git clone https://github.com/conan-io/ros-conan.git
conan remote add ros-conan ./ros-conan --type=local-recipes-index
conan install --requires=ros-kilted/2026.06.17 \
--profile=ros-conan/profiles/ros \
--build=missingros-kilted and its bundled dependencies resolve from this index. Everything else comes from ConanCenter.
Activate the Conan virtual run environment and verify:
# Linux / macOS
source conanrun.sh
ros2 pkg listREM Windows
conanrun.bat
ros2 pkg list| Variant | Contents |
|---|---|
core |
rcl, rclcpp, rclpy, rmw, common interfaces. Default. |
base |
Adds tf2, kdl_parser, robot_state_publisher. |
desktop |
Adds rviz2, demo nodes, visualization tools. |
desktop_full (WIP) |
Adds simulation and perception stacks. |
To build a different variant, pass the variant option with -o:
conan install --requires=ros-kilted/2026.06.17 \
--profile=ros-conan/profiles/ros \
-o ros-kilted/*:variant=desktop \
--build=missingros-kilted uses calendar versioning that mirrors the upstream
ros/rosdistro sync tag the recipe is
pinned to. The Conan version YYYY.MM.DD maps 1:1 to the rosdistro tag
kilted/YYYY-MM-DD.
| Package | Description |
|---|---|
ros-kilted |
ROS 2 Kilted built from source as a single package. |
orocos_kdl |
Orocos KDL C++ library. |
python_orocos_kdl |
PyKDL, Python bindings for Orocos KDL. |
orocos_kdl and python_orocos_kdl are not in ConanCenter and are required by ros-kilted.
| Example | What it shows |
|---|---|
consumer_cmake |
Pure-CMake consumer using rclcpp via CMakeDeps, no colcon needed. |
consumer_colcon |
colcon workspace consuming the ROS runtime from Conan via ROSEnv. |
pose_estimation |
ros-kilted + opencv + tensorflow-lite publishing a skeleton overlay. |
consumer_desktop |
Installs the desktop variant and runs its GUI tooling (rviz2, rqt). |
MIT, see LICENSE.