LoginSignup
8
3

More than 1 year has passed since last update.

【cmake】最新版CMakeをapt installする方法【Ubuntu】

Last updated at Posted at 2022-11-08

apt-add-repository でCMake公式サーバーを登録する

結論から書きます。
以下を順番に実行して下さい。
cmakeが3.24に綺麗に更新されます。ROSの依存関係も壊しません。

$ cmake --version  # まず今のバージョンを確認。恐らく3.10とか。

$ wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | sudo tee /etc/apt/trusted.gpg.d/kitware.gpg >/dev/null

$ sudo apt-add-repository "deb https://apt.kitware.com/ubuntu/ $(lsb_release -cs) main"

$ sudo apt update
$ sudo apt install cmake

$ cmake --version   # バージョンが上がっていれば成功!

とりあえずこれが一番安定して動きます。
(実はkeyfileを/etc/apt/trusted.gpg.d内に保存するのは非推奨らしいですが…)


もし途中で The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 6AF7F09730B3F0A4というエラーが発生した場合には、

$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6AF7F09730B3F0A4

を打って、改めてapt updateすれば直ります。

Ubuntu18.04 (+ROS melodic)で動作確認済みです。
$(lsb_release -cs)を使っているので、16.04と20.04でも動くはずです。
ダメだったらコメント下さい。

解説

「apt install cmake」 でググると、例えば
https://qiita.com/hyasuda/items/16c21458f0ecd08db857

https://askubuntu.com/questions/829310/how-to-upgrade-cmake-in-ubuntu#comment1492832_829311

が最初にヒットしました。
しかし最初の記事はソースから手動ビルドしており、2番目の記事はバイナリファイルを直接ダウンロード+シンボリックリンク経由で呼び出しています。

これだとaptシステムを経由していないため、自動更新できない上に、ROSのcatkin_makeやcatkin buildのcmake依存を壊しかねない危険性があります。
ある程度UbuntuやROS、C++の経験がある人なら「できるだけaptに統一したい」という願望に至りますよね。

本記事が最初に記したコマンドなら、apt add repositoryでcmakeの公式PPA (Personal Package Archive,つまり配布サーバー) を登録している ので依存関係も安心です。
将来的にはsudo apt update & upgradeで自動更新もできちゃいます!

自分が(英語で)ググっても全然情報が出なかった + 日本語の記事が無かった + 研究室の後輩からも定期的に聞かれるので日本語で投稿しました。
ほぼ自分用メモですが、もしご参考になれば幸いです。


参考記事

kitware公式

askubuntu.com

8
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
3