ROS(ROS2)- インストール - Fedora

クラウディア 
1. 概要
2. 準備
3. 開発ツールインストール
4. ROS2 ビルド
5. 環境設定

1. 概要

 「ROS2 jazzy」は、「RedHat」系の「Linux」にもインストール可能なようです。  「RedHat Linux」は、持ち合わせがないですが、「Fedora」にもインストールできるようなので。  「Fedora 41 Cinnamon」へインストールしてみます。  多くの説明は省略して、コマンドを中心に記述します。  本ページは、下記のサイトを参考にさせていただきました。
RHEL (source) — ROS 2 Documentation: Jazzy documentation」
「Fedora 38 でplpgsql-lspを動かす 

2. 準備

 「RedHat Linuxn」は、「VirtualBox 7.1.4」上へインストールし、わたしが使うツールの類は、インストールした状態です。  そのあたりは、「Fedora - 41 - 共通事項」をご参照ください。  パッケージも改めてすべて、最新へしておきます。  参考サイトでは、ロケールを「en_US」設定するように書いてありますが、他のプラットフォームでは、特に変えなくても問題なかったので、そのままにしておきます。  「Fedora」では、別途、以下が必要です、  実は、最後の。

colcon build --symlink-install
 の途中で。

g++: 致命的エラー: 環境変数 ‘RPM_ARCH’ が定義されていません
 てな、エラーが発生します。  なので。

export RPM_ARCH=$(uname -m)
export RPM_PACKAGE_RELEASE=1.0
export RPM_PACKAGE_VERSION=1.0
export RPM_PACKAGE_NAME=plpgsql-lsp
 という、おまじないが必要です。  なんなら「~/.bashrc」へ仕込んでおきます。  以下、ずっと、ログインユーザで。

3. 開発ツールインストール

 開発用ツールのインストール。

sudo dnf install -y \
  cmake \
  gcc-c++ \
  git \
  make \
  patch \
  python3-colcon-common-extensions \
  python3-mypy \
  python3-pip \
  python3-pydocstyle \
  python3-pytest \
  python3-pytest-cov \
  python3-pytest-mock \
  python3-pytest-repeat \
  python3-pytest-rerunfailures \
  python3-pytest-runner \
  python3-rosdep \
  python3-setuptools \
  python3-vcstool \
  wget

python3 -m pip install -U --user \
  flake8-blind-except==0.1.1 \
  flake8-class-newline \
  flake8-deprecated

4. ROS2 ビルド

 「ROS2」をビルドします。

mkdir -pv ~/ros2_jazzy/src

cd ~/ros2_jazzy

vcs import --input https://raw.githubusercontent.com/ros2/ros2/jazzy/ros2.repos src

sudo dnf update

sudo rosdep init

rosdep update

rosdep install --from-paths src --ignore-src -y --skip-keys "fastcdr rti-connext-dds-6.0.1 urdfdom_headers"

cd ~/ros2_jazzy/
colcon build --symlink-install
 ここが、いつも時間のかかるとことです。  2025年1月4日時点では、364個のモジュールをビルドしてインストールすることになります。  マシンのスペックやプラットフォームによりますが、短くても 45分、長ければ、8時間以上かかります。  途中、一度失敗して再開したので、2回目は1回目にインストールしたものがすぐにインストールされますので、54分であったものがありました。  一方、他のマシンで、5時間46分かかったものもあります。

5. 環境設定

 シェルが「bash」の場合、下記で環境設定を行います。

. ~/ros2_jazzy/install/local_setup.bash
 これは、環境を使う場合、毎回使うようなので、「~/.bashrc」へ取り込んでおきます。

vi ~/.bashrc
 末尾に下記の行を加えます。

. ~/ros2_jazzy/install/local_setup.bash
AbemaTV 無料体験