.. _ros-connextrmw-install: ************************** Installing the Connext RMW ************************** There are multiple vendor-specific implementations of the ROS 2 RMW API, including |CONNEXT|. (For more information, see the `ROS 2 Lyrical documentation `__.) This chapter describes how to install the |CONNEXT| RMW. .. _ros-version-compatibility: Version Compatibility ===================== Each ROS 2 version is built and tested with a specific |CONNEXT| version to ensure functional and ABI compatibility. Using the versions in the table below guarantees that all libraries and tools work together as intended. .. list-table:: ROS 2 and Connext Compatibility :name: ROS2ConnextVersionComp :header-rows: 1 * - ROS 2 Version - Connext Version * - Lyrical - 7.7.0 * - Kilted - 7.3.0 * - Jazzy - 6.0.1 * - Humble - 6.0.1 .. warning:: When building from source, other version combinations may work but are not supported by RTI and are used at your own risk. Using a |CONNEXT| version with a binary ROS 2 installation not shown in :numref:`ROS2ConnextVersionComp` may result in unexpected behavior. When using a binary distribution, ROS 2 and |CONNEXT| must be ABI-compatible, so using a different |CONNEXT| version can lead to runtime failures. For example, Lyrical binaries are compiled using |CONNEXT| 7.7.0. If you want to use the |CONNEXT| RMW with an underlying |CONNEXT| version different from 7.7.0, the ABIs are not going to match, resulting in application crashes or unpredictable behavior hard to diagnose. For that reason, if you want to use a |CONNEXT| version that's not the default one (not recommended) in a specific ROS 2 release, you should build the |CONNEXT| RMW from source. .. _one-step-rti-toolkit-installation: One-Step RTI Connext Robotics Toolkit Installation (Ubuntu) =========================================================== If you are on Ubuntu, you can install ROS 2 and |CONNEXT| in a single step using RTI Connext Robotics Toolkit Debian packages (``rti-connext-robotics-toolkit-lyrical-7.7.0-desktop``). See the :ref:`Tutorial ` chapter for detailed installation instructions. Once installed, your system is ready to run ROS 2 applications powered by |CONNEXT|, as well as standalone |CONNEXT| DDS applications, RTI Infrastructure Services, and RTI Tools. Multi-Step Installation ======================= If you are not on Ubuntu, or if you prefer to install ROS 2 and |CONNEXT| separately, follow the two-step process detailed in the sections below: 1. :ref:`Install Connext ` 2. :ref:`Install ROS 2 and the Connext RMW ` .. _connext-installation-options: Connext installation options ---------------------------- A |CONNEXT| installation provides the libraries needed by the |CONNEXT| RMW. Without a |CONNEXT| installation, the |CONNEXT| RMW won't be able to find the libraries and will not work. To install |CONNEXT| for ROS 2, there are several options. The choice depends on your needs, platform, and licensing requirements. All options ultimately provide the same |CONNEXT| libraries and headers, but differ in licensing, features, and installation process. Choose the |CONNEXT| installation option that best fits your specific use case: .. list-table:: Connext for ROS 2 - Installation Options :name: InstallationOptions :header-rows: 1 * - Option - Common Use Case - Key Characteristics * - | **ROS-hosted .deb packages** | (only for Ubuntu AMD64) | `Installation instructions `__ - Typically used by the ROS 2 community - - Very stripped-down |CONNEXT| installation - Non-commercial license is not eligible for production * - | **RTI official .deb packages** | (both Ubuntu AMD64 and ARM64) | `Installation instructions `__ - Typically used by prospects or customers evaluating the |CONNEXT| RMW - - Complete set of |CONNEXT| tools - Requires RTI-provided license suitable for production use * - | `RTI installers `__ | (RTI download) | `Installation instructions `__ - Typically used by prospects or customers evaluating the |CONNEXT| RMW in Windows or macOS - - Multi-step manual installation - Requires RTI-provided license suitable for production use .. important:: During the |CONNEXT| installation process, you need to install a license activation file (``rti_license.dat``). If you do not have one, register at https://www.rti.com/ros. .. _ros-connextrmw-installation: ROS 2 and Connext RMW installation ---------------------------------- Once |CONNEXT| is installed, install ROS 2 with the |CONNEXT| RMW. Follow the official ROS 2 installation guide for your chosen distribution (for example, https://docs.ros.org/en/lyrical/Installation.html). Before you start, note that ROS 2 is available in different installation formats. To ensure a smooth setup, choose the format that best matches your operating system and deployment goals: * **Binary packages:** * Debian (``.deb``) packages (Ubuntu systems only). This is the recommended and easiest way to get started. The packages use your system's package manager for installation. * Binary archives (Linux and Windows systems). This is a good option if you do not have administrator privileges or prefer not to use a package manager. * **Source build** (available in Linux, Windows, and macOS systems). This option is useful if you want to install specific packages or modify packages, or when no binary packages are available for your specific platform. Ubuntu AMD/ARM ^^^^^^^^^^^^^^ This section explains how to install ROS 2 with the |CONNEXT| RMW on Ubuntu, whether you are using an AMD64 or ARM64 system. There are two primary steps: * Install ROS 2 * Install the |CONNEXT| RMW .. _ros-installation: ROS 2 installation """""""""""""""""" Follow the official ROS 2 instructions for your chosen installation format: * **Debian packages:** https://docs.ros.org/en/lyrical/Installation/Ubuntu-Install-Debs.html * **Binary archives:** https://docs.ros.org/en/lyrical/Installation/Alternatives/Ubuntu-Install-Binary.html * **Source build:** https://docs.ros.org/en/lyrical/Installation/Alternatives/Ubuntu-Development-Setup.html Connext RMW installation """""""""""""""""""""""" When installed through Debian (``.deb``) packages, ROS 2 includes the default RMW (``rmw_fastdds``). To use any other RMW, you need to install the corresponding ``.deb`` package As with ROS 2, the |CONNEXT| RMW also comes in multiple installation formats, linked below: * `Binary archives `__ * `Source build `__ Windows ^^^^^^^ On Windows systems, ROS 2 does not provide |CONNEXT| binaries, so you must install |CONNEXT| first. `Download `__ and install |CONNEXT| following the `RTI Connext Professional Installation Guide `__. ROS 2 releases for Windows systems are available from the `ROS 2 GitHub releases page `__. You can install ROS 2 in two ways: * **Binary archives.** Follow the `official guide `__. The |CONNEXT| RMW is already included in the binary archive, so no separate installation is required. * **ROS 2 source build.** Follow the `official guide `__. When building from source, the |CONNEXT| RMW is compiled along with the rest of ROS 2. Other systems ^^^^^^^^^^^^^ To build ROS 2 in any other environment, check the alternatives provided by the `ROS 2 documentation `__.