CentOS 7 cmake 3.11.2のソースファイルからのインストール


動作確認環境

事情によりバージョンをダウングレードしました。新しいバージョンでも動作するはずです。

  • 仮想環境 VMware Workstation Player 12.5.9
  • OS Windows 10 Pro 64bit

仮想環境

  • OS CentOS 7.4 (1708) minimalインストール
  • メモリ 2GB
  • HDD 250GB

ダウンロード・展開

最新バージョンの確認
Download | CMake

/usr/local/srcディレクトリに移動する。

cd /usr/local/src

ソースファイルをダウンロードする。

wget https://cmake.org/files/v3.11/cmake-3.11.2.tar.gz

ダウンロードしたファイルを展開する。

tar zxvf cmake-3.11.2.tar.gz

コンパイル・インストール

展開したディレクトリに移動する。

cd cmake-3.11.2

コンパイル・インストール

./bootstrap --prefix=/opt/cmake --no-system-libs
make
make install

./bootstrapが成功すると最後に以下のような表示をする。

---------------------------------------------
CMake has bootstrapped.  Now run gmake.

エラー対策

./bootstraplib64関連のエラーが発生した場合、共有ライブラリへの対策。
エラー内容。

/usr/local/src/cmake-3.11.1/Bootstrap.cmk/cmake: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /usr/local/src/cmake-3.11.1/Bootstrap.cmk/cmake)
/usr/local/src/cmake-3.11.1/Bootstrap.cmk/cmake: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /usr/local/src/cmake-3.11.1/Bootstrap.cmk/cmake)
---------------------------------------------
Error when bootstrapping CMake:
Problem while running initial CMake
---------------------------------------------

/etc/ld.so.confの編集

vi /etc/ld.so.conf

/usr/local/lib64/を追加し、更新コマンドldconfigを実行する。

/usr/local/lib64/

この時点でldconfigするとエラーが表示される。

ldconfig: /usr/local/lib64/libstdc++.so.6.0.25-gdb.py は ELF ファイルではありま せん - 先頭に誤ったマジックバイトを持っています。

対策を行う。(参照しないようにする)

mv /usr/local/lib64/libstdc++.so.6.0.25-gdb.py /usr/local/lib64/back.libstdc++.so.6.0.25-gdb.py

以上で./bootstrapが実行できる。

環境変数 PATH の設定

インストールしただけではcmakeが実行できないので、/etc/bashrc環境変数を設定する。

vi /etc/bashrc

PATH=$PATH:/opt/cmake/binを追加し、コマンドを実行する。

PATH=$PATH:/opt/cmake/bin
source /etc/bashrc

バージョン確認

cmake -version

以下のような内容が、表示される。

cmake version 3.11.2

CMake suite maintained and supported by Kitware (kitware.com/cmake).

参考

MySQLのビルドに欠かせないCMakeを準備する:仕事で使える魔法のLAMP(45) - @IT
CMakeインストールメモ(Hishidama's CMake install Memo)
(


目次