RHEL (RPM packages)
RPM packages for ROS 2 Jazzy Jalisco are currently available for RHEL 9. The target platforms are defined in REP 2000.
Resources
Status Page:
ROS 2 Jazzy (RHEL 9): amd64
System setup
Set locale
Make sure you have a locale which supports UTF-8
.
If you are in a minimal environment (such as a docker container), the locale may be something minimal like C
.
We test with the following settings.
However, it should be fine if you’re using a different UTF-8 supported locale.
$ locale # check for UTF-8
$ sudo dnf install langpacks-en glibc-langpack-en
$ export LANG=en_US.UTF-8
$ locale # verify settings
Enable required repositories
You will need to enable the EPEL repositories and the PowerTools repository:
$ sudo dnf install 'dnf-command(config-manager)' epel-release -y
$ sudo dnf config-manager --set-enabled crb
Note
This step may be slightly different depending on the distribution you are using. Check the EPEL documentation
Next, download the ROS 2 .repo
file:
$ sudo dnf install curl
$ sudo curl --output /etc/yum.repos.d/ros2.repo http://packages.ros.org/ros2/rhel/ros2.repo
Then, update your metadata cache.
DNF may prompt you to verify the GPG key, which should match the location https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc
.
$ sudo dnf makecache
Install development tools (optional)
If you are going to build ROS packages or otherwise do development, you can also install the development tools:
$ sudo dnf install -y \
cmake \
gcc-c++ \
git \
make \
patch \
python3-colcon-common-extensions \
python3-mypy \
python3-pip \
python3-pydocstyle \
python3-pytest \
python3-pytest-repeat \
python3-pytest-rerunfailures \
python3-rosdep \
python3-setuptools \
python3-vcstool \
wget
~ install some pip packages needed for testing and
~ not available as RPMs
$ python3 -m pip install -U --user \
flake8-blind-except==0.1.1 \
flake8-class-newline \
flake8-deprecated
Install ROS 2
ROS 2 packages are built on frequently updated RHEL systems. It is always recommended that you ensure your system is up to date before installing new packages.
$ sudo dnf update
Desktop Install (Recommended): ROS, RViz, demos, tutorials.
$ sudo dnf install ros-jazzy-desktop
ROS-Base Install (Bare Bones): Communication libraries, message packages, command line tools. No GUI tools.
$ sudo dnf install ros-jazzy-ros-base
Install additional RMW implementations (optional)
The default middleware that ROS 2 uses is Fast DDS
, but the middleware (RMW) can be replaced at runtime.
See the guide on how to work with multiple RMWs.
Setup environment
Set up your environment by sourcing the following file.
$ source /opt/ros/jazzy/setup.bash
Note
Replace .bash
with your shell if you’re not using console.
Possible values are: setup.bash
, setup.sh
, setup.zsh
.
Try some examples
If you installed ros-jazzy-desktop
above you can try some examples.
In one terminal, source the setup file and then run a C++ talker
:
$ source /opt/ros/jazzy/setup.bash
$ ros2 run demo_nodes_cpp talker
In another terminal source the setup file and then run a Python listener
:
$ source /opt/ros/jazzy/setup.bash
$ ros2 run demo_nodes_py listener
You should see the talker
saying that it’s Publishing
messages and the listener
saying I heard
those messages.
This verifies both the C++ and Python APIs are working properly.
Hooray!
Next steps
Continue with the tutorials and demos to configure your environment, create your own workspace and packages, and learn ROS 2 core concepts.
Troubleshoot
Troubleshooting techniques can be found here.
Uninstall
If you need to uninstall ROS 2 or switch to a source-based install once you have already installed from binaries, run the following command:
$ sudo dnf remove ros-jazzy-*