Closed2

【ROS】OpenZenをビルドできなかった際の対処法

ghostwhiteghostwhite

環境

OS ROS
Ubuntu 20.04 noetic

エラー内容

catkin_makeをしたところ,ビルドエラーが発生

ros_install TARGETS given target "spdlog" which does not exist in this directory.

対処法

cmakeのアップデート で解決

ただし,作業中にcmakeを消すとROS環境が壊れます

Ubuntu 20.04のcmakeはapt updateで最新版にすることができないため,手動でのアップデートが必要

参考文献をもとにcmakeをアップデートすることでビルド可能

【cmake】最新版CMakeをapt installする方法【Ubuntu】に示されている方法を用いた.
具体的な方法についてはリンク先を参照.

しかし,この方法では最新版のamd向けcmakeがインストールされるため,インストール可能なバージョンを以下のコマンドで調べる.

sudo apt list cmake -a
Listing... Done
cmake/focal,now 3.28.1-0kitware1ubuntu20.04.1 amd64 [installed]
cmake/focal 3.28.0-0kitware1ubuntu20.04.1 amd64
cmake/focal 3.27.7-0kitware1ubuntu20.04.1 amd64
cmake/focal 3.27.6-0kitware1ubuntu20.04.1 amd64

中略

cmake/focal 3.24.1-0kitware1ubuntu20.04.1 i386
cmake/focal 3.24.0-0kitware1ubuntu20.04.1 i386

i386対象のバージョンを指定してダウンロード可能だがcmakeのバージョンが最新版になっていない.

もっと良い方法があるはず

参考サイト

ghostwhiteghostwhite

修正

最終的にi386バージョンが正しくインストールされておらず,amd64の最新バージョンのCMakeをインストールしたがビルドすることができた.

このスクラップは2024/02/21にクローズされました