環境
- Ubuntu18.04
- ROS環境が構築済み
経緯
ビルド中にCUDA系のエラーが発生。
↓出くわしたエラー
Error NOTFOUND: CUDA_cublas_device_LIBRARY (ADVANCED)
この場合CUDA10.0に対して、CMakeのバージョンが3.12.2以上が必要であることが明らかに。
このように、CMakeのバージョンが使用するパッケージに対応しないことは時々起きるので、既存のCMakeを変更することに。
既存のCMakeバージョン確認
$ cmake --version
注意:最初にCMakeを消去するようなコマンドを入力するとROSが壊れるので、やらないでください。
CMakeダウンロード
① 下記サイトから特定のバージョンのCMakeを選択してダウンロードします。
例えば、CMakeのバージョンを3.15.5でダウンロードする場合、v3.15/を選択し、
次のページの一覧からcmake-3.15.5-Linux-x86_64.tar.gz
を選択します。
末尾にLinux-x86_64.tar.gz
がついたものを選択すると良いです。
② ダウンロードできたら~~.gz
を解凍します。
③解凍先のディレクトリに移動し、以下を行います。(以降バージョンを自分用に書き換えてください。)
$ cd (解凍先のディレクトリ)
$ sudo mv cmake-3.15.5-Linux-x86_64 /opt
$ sudo ln -s /opt/cmake-3.15.5-Linux-x86_64/bin/* /usr/bin
※LinuxのLが小文字になっている場合があるので注意
④ .bashrc
の内容を任意のエディターで追加、または変更します。
$ gedit ~/.bashrc
⑤ 開いたら以下を末尾に追加します。すでに他のバージョンが記述されている場合は書き換えます。
export PATH=/opt/cmake-3.15.5-Linux-x86_64/bin:$PATH
export CMAKE_PREFIX_PATH=/opt/cmake-3.15.5-Linux-x86_64:$CMAKE_PREFIX_PATH
変更後のCMakeバージョン確認
一旦コマンドを立ち上げなおしてください。下記のように表示されたらOKです。
$ cmake --version
cmake version 3.15.5
CMake suite maintained and supported by Kitware (kitware.com/cmake).