Ubuntu で ROS 2 のソースコードからのビルドとインストール
Lyrical Luth をソースコードからビルドしてインストールする手順を説明する。Lyrical Luth は 2026年5月のリリースで、サポート期限は 2031年5月である。
deb パッケージは Ubuntu 26.04 向けに提供されている。Ubuntu 24.04 と Debian 12 は Tier 3 であり、ソースコードからビルドして使う。ROS 2 本体のコードを変更する場合も、ソースコードからビルドする。
【関連する外部ページ】は https://docs.ros.org/en/lyrical/Installation/Alternatives/Ubuntu-Development-Setup.html
前準備
Ubuntu のシステム更新
Ubuntu で OS のシステム更新を行うときは, 端末で,次のコマンドを実行する。これは、パッケージ情報を最新の状態に保ち、インストール済みのパッケージをセキュリティアップデートやバグ修正を含めて更新するためである。
# パッケージリストの情報を更新
sudo apt update
# インストール済みのパッケージを包括的に更新 (依存関係も考慮)
sudo apt full-upgrade
# カーネル更新等で実際に再起動が必要な場合のみ実行を推奨
# sudo shutdown -r now
ロケールの設定
ROS 2 は UTF-8 のロケールで動作する。端末で、次のコマンドを実行する。
sudo apt update
sudo apt -y install locales
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8
locale
ROS 2 のビルドに必要な前提ソフトウェア
- apt のリポジトリの設定
Ubuntu の
universeリポジトリを有効にし、ros2-apt-sourceをインストールする。ros2-apt-sourceは、ROS 2 のリポジトリの URL と署名鍵を設定するパッケージである。端末で、次のコマンドを実行する。
sudo apt update sudo apt -y install software-properties-common curl sudo add-apt-repository -y universe export ROS_APT_SOURCE_VERSION=$(curl -s https://api.github.com/repos/ros-infrastructure/ros-apt-source/releases/latest | grep -F "tag_name" | awk -F'"' '{print $4}') curl -L -o /tmp/ros2-apt-source.deb "https://github.com/ros-infrastructure/ros-apt-source/releases/download/${ROS_APT_SOURCE_VERSION}/ros2-apt-source_${ROS_APT_SOURCE_VERSION}.$(. /etc/os-release && echo ${UBUNTU_CODENAME:-${VERSION_CODENAME}})_all.deb" sudo dpkg -i /tmp/ros2-apt-source.deb - 開発ツールのインストール
ビルドに使う
colcon、ソースコードの取得に使うvcstool、依存パッケージの解決に使うrosdepは、ros-dev-toolsに含まれる。端末で、次のコマンドを実行する。
sudo apt update sudo apt -y install \ python3-mypy \ python3-pip \ python3-pytest \ python3-pytest-cov \ python3-pytest-mock \ python3-pytest-repeat \ python3-pytest-rerunfailures \ python3-pytest-runner \ python3-pytest-timeout \ ros-dev-tools
ソースコードの取得とビルド
- ソースコードの取得
ワークスペースを作り、
ros2.reposに書かれたリポジトリをsrcの下に取得する。端末で、次のコマンドを実行する。mkdir -p ~/ros2_lyrical/src cd ~/ros2_lyrical vcs import --input https://raw.githubusercontent.com/ros2/ros2/lyrical/ros2.repos src - 依存パッケージのインストール
rosdepで依存パッケージをインストールする。--skip-keysに指定したものは、ソースコードからビルドするか、使わないため、対象外とする。端末で、次のコマンドを実行する。sudo rosdep initは、システムで一度だけ実行する。cd ~/ros2_lyrical sudo apt update sudo rosdep init rosdep update rosdep install --from-paths src --ignore-src -y --skip-keys "fastcdr rti-connext-dds-7.7.0 urdfdom_headers" - colcon の mixin の設定
mixinは、ビルドのオプションに名前を付けた設定である。次の手順のビルドで使うreleaseを利用できるようにする。端末で、次のコマンドを実行する。colcon mixin add default https://github.com/colcon/colcon-mixin-repository/raw/master/index.yaml colcon mixin update default - ビルド
deb パッケージ版の ROS 2 の設定が有効な端末では、ビルドが失敗する。
printenv | grep -i ROSの出力が空であることを確認してからビルドする。端末で、次のコマンドを実行する。ビルドには時間がかかる。終了後、
Summaryにfailedのパッケージが無いことを確認する。printenv | grep -i ROS cd ~/ros2_lyrical colcon build --symlink-install --mixin release
動作確認
- talker の実行
ビルドしたワークスペースの設定を読み込み、C++ のノードを実行する。この設定は端末ごとに必要である。端末で、次のコマンドを実行する。
source ~/ros2_lyrical/install/local_setup.bash ros2 run demo_nodes_cpp talker - listener の実行
別の端末で、次のコマンドを実行する。talker 側に
Publishing、listener 側にI heardと表示されれば、C++ と Python の API が動作している。source ~/ros2_lyrical/install/local_setup.bash ros2 run demo_nodes_py listener - ノードとトピックの一覧の表示
別の端末で、次のコマンドを実行する。
source ~/ros2_lyrical/install/local_setup.bash ros2 node list ros2 topic list
アンインストール
ワークスペースのディレクトリを削除する。端末で、次のコマンドを実行する。
rm -rf ~/ros2_lyrical