본문 바로가기
서버/리눅스

[Linux] CentOS7 Cmake version update or install

by 코딩히어로 2022. 5. 13.
728x90

리눅스 json-c 라이브러리를 사용하기 위해 로직을 따라 하던 중

Cmake가 필요하여 yum install을 통해 설치했지만 다음과 같은 에러가 발생했습니다

 

CMake Error at CMakeLists.txt:1 (CMAKE_MINIMUM_REQUIRED):
  CMake 3.4.0 or higher is required.  You are running version 2.8.12.2
  -- Configuring incomplete, errors occurred!

 

해당 에러는 Cmake 버전이 2.8.12로 낮아서 생기는 호환성 문제로

Cmake 버전을 3.4.0 이상으로 업데이트 하면 해결됩니다

먼저 yum을 update 합니다

 

yum clean all
yum update -y

 

다음으로 yum에 있는 cmake 버전을 확인합니다

 

yum list cmake

 

yum update를 했음에도 cmake 버전은 2.8.12입니다

그럼 yum을 통한 설치로는 해당 에러를 해결 할 수 없습니다

 

yum을 통해 설치한 cmake를 삭제합니다

 

yum remove -y cmake

 

최신버전 cmake를 찾아서 url을 복사합니다

https://cmake.org/download/

 

Download | CMake

Current development distribution Each night binaries are created as part of the testing process. Other than passing all of the tests in CMake, this version of CMake should not be expected to work in a production environment. It is being produced so that us

cmake.org

제가 설치하는 날 기준으로 3.23.1이 최신 버전입니다

최신 버전 url을 복사하고 다음 순서에 따라서 진행하면 cmake 최신버전 설치가 완료됩니다

 

wget https://github.com/Kitware/CMake/releases/download/v3.23.1/cmake-3.23.1.tar.gz
tar xvf cmake-3.23.1.tar.gz
cd cmake-3.23.1
./booststrap
make
make install

 

그런데 여기서 ./booststrap 을 실행할 때 다음과 같은 에러가 발생하는 경우가 있습니다

 

Install an OpenSSL development package or   configure CMake with -DCMAKE_USE_OPENSSL=OFF to build without OpenSSL.

 

이럴 때에는 yum을 통해 openssl을 설치합니다

 

yum install openssl-devel

 

마지막으로 다시 cmake 설치 순서를 진행하면 설치가 완료됩니다

 

cmake --version

 

설치가 완료된 이후에 버전을 확인하면 디렉터리가 없다는 에러가 출력되는데

이럴 때 다음과 같이 bin폴더에 항목을 복사하면 버전 확인이 가능합니다.

 

cp -f ./bin/cmake ./bin/cpack ./bin/ctest /bin
728x90
반응형

댓글