cmake-3.17.2をCentOS7にソースインストール
篠原 隆司
アフィリエイト広告を利用しています
このページの内容が役に立ったら X (旧twitter) でフォローして頂けると励みになります
挨拶や報告は無しで大丈夫です
覚書です。
ところどころ省いています。
実践環境で使う場合はご注意ください。
目的
libzip-1.5.2 をインストールしようとしたところ cmakeで次のエラーが発生しました。
CMake Error at CMakeLists.txt:4 (CMAKE_MINIMUM_REQUIRED):
CMake 3.0.2 or higher is required. You are running version 2.8.12.2
今までは yum で入れたものを使っていたのですが、CentOS6では 2.8.12.2 までのようです。
特徴
- ソースコードからのインストール
- 複数バージョンの共存
特定バージョンでの開発や動作確認など開発環境での用途を目的としています。
環境
| 実施日 | 2020-5-20 |
| サーバ | さくらのVPS 2G |
| OS | CentOS 7.7 |
cat /etc/redhat-release
CentOS Linux release 7.8.2003 (Core)
rpm -qa | grep centos-release
centos-release-7-8.2003.0.el7.centos.x86_64
事前準備
gcc 10.1.0
CMakeを configure していると次のエラーが発生しました。
---------------------------------------------
CMake 3.14.5, Copyright 2000-2019 Kitware, Inc. and Contributors
Found GNU toolchain
C compiler on this system is: gcc
---------------------------------------------
Error when bootstrapping CMake:
Cannot find a C++ compiler that supports both C++11 and the specified C++ flags.
Please specify one using environment variable CXX.
The C++ flags are "".
They can be changed using the environment variable CXXFLAGS.
See cmake_bootstrap.log for compilers attempted.
---------------------------------------------
C++のコンパイラが古いので、C++11に対応したものが必要とのことです。
cmake 3.17.2
公式サイトからダウンロードして、/tmp にアップロード
CMakeの公式サイトのダウンロードページに行くと最新版へのリンクがあります。
はじめに「Release Candidate」がありますがリリース候補版ではなく、少し下にスクロールしたところにある「Latest Release」を使います。
「cmake-3.17.2.tar.gz」をクリックしてダウンロードし、次の場所にアップロードします。
/tmp/cmake-3.17.2.tar.gz
インストール
ls -la /usr/local/src
ls -la /usr/local/lib
mkdir /usr/local/src/cmake-3.17.2
cp /tmp/cmake-3.17.2.tar.gz /usr/local/src/cmake-3.17.2/cmake-3.17.2.tar.gz
cd /usr/local/src/cmake-3.17.2
tar xvzf cmake-3.17.2.tar.gz
cd cmake-3.17.2
./configure --prefix=/usr/local/lib/cmake-3.17.2 CC="/usr/local/lib/gcc-10.1.0/bin/gcc" CXX="/usr/local/lib/gcc-10.1.0/bin/g++" CXXFLAGS="-std=c++11"
make
make install
/usr/local/lib/cmake-3.17.2/bin/cmake -version
このページの内容が役に立ったら X (旧twitter) でフォローして頂けると励みになります
本ページの内容は可能な限り正確な情報を提供するよう努めていますが、内容の正確性・最新性・安全性を保証するものではありません。本情報を利用して生じたいかなる損害についても、当方は一切の責任を負いません。実施にあたっては必ずご自身の判断と自己責任にてお願いいたします。