CentOS7升級cmake

背景

在編譯Hadoop3.0的時候,在cmake編譯階段失敗,錯誤如下:

[WARNING] CMake Error at CMakeLists.txt:23 (cmake_minimum_required):
[WARNING]   CMake 3.1 or higher is required.  You are running version 2.8.12.2

很明顯,這是cmake版本過低導(dǎo)致的,那么就需要升級cmake到Hadoop要求版本以及更高版本了。

本文主要介紹如何升級CentOS7的cmake版本。

注:我使用的Hadoop編譯環(huán)境是一個基于CentOS7的docker容器,所以以下升級cmake的步驟會涉及到docker的一些操作,除此以外,升級步驟和普通操作系統(tǒng)無異。

升級cmake

進(jìn)入docker容器

提醒:非docker環(huán)境可跳過此步驟

我使用的升級docker image的方式是直接進(jìn)入容器內(nèi)部,做完相應(yīng)的修改后,再退出容器,然后 commit 修改到原有image。當(dāng)然還可以使用 Dockerfile 升級docker image,在此就不再贅述。詳情將在docker系列文章說明。

以交互式的方式進(jìn)入docker容器:

docker run -it xwd/hadoop:centos-7-hadoop bash

執(zhí)行命令之后,就會進(jìn)入以 xwd/hadoop:centos-7-hadoop 這個 image 為基礎(chǔ)的容器的終端了,其操作和普通操作系統(tǒng)終端大致一樣。

下載cmake二進(jìn)制包

這里,我們使用cmake-3.10.2-Linux-x86_64版本為例。

進(jìn)入docker容器終端或者普通操作系統(tǒng)終端,下載cmake安裝包:

cd /opt
wget https://cmake.org/files/v3.10/cmake-3.10.2-Linux-x86_64.tar.gz

升級cmake

如果原有cmake環(huán)境就是使用cmake的二進(jìn)制包制作的,那么直接修改環(huán)境變量文件即可。如果不熟悉這種方法的同學(xué),可以在下文看到相關(guān)操作。

如果原有環(huán)境是使用yum等工具安裝,那么,我們先卸載已有的cmake,如果原有cmake環(huán)境也是使用的:

yum remove cmake

這時,你可以發(fā)現(xiàn)系統(tǒng)中已經(jīng)沒有cmake命令了,如果還有,可能你的環(huán)境cmake相關(guān)文件做過一些修改,請仔細(xì)排查。

解壓下載好的cmake二進(jìn)制包:

cd /opt
tar zxvf cmake-3.10.2-Linux-x86_64.tar.gz

解壓成功后,就可以在 /opt 目錄下看到一個 cmake-3.10.2-Linux-x86_64 目錄,下面添加cmake環(huán)境變量,編輯 /etc/profile.d/cmake.sh 文件,寫入以下內(nèi)容:

export CMAKE_HOME=/opt/cmake-3.10.2-Linux-x86_64
export PATH=$PATH:$CMAKE_HOME/bin

保存并退出,執(zhí)行命令讓cmake環(huán)境文件生效:

source /etc/profile

此時,你再次查看cmake版本,就已經(jīng)是3.10.2了:

cmake -version

OK,cmake環(huán)境版本升級完畢。

更新docker image

提醒:非docker環(huán)境可跳過此步驟

在docker容器內(nèi)更新完cmake版本之后,執(zhí)行 exit 命令退出容器,然后提交更新:

docker commit -m "update cmake to 3.10.2" 371401fce751 xwd/hadoop:centos-7-hadoop

上述命令具體參數(shù)解釋,在我的docker系列文章中會講解

命令成功之后,終端就會出現(xiàn)類似以下的信息:

sha256:cb4a004b41af0a691cb2d78489fb11047081cb85e02c151093ad84198fa5c19d

總結(jié)

其實在Linux系統(tǒng)中,我習(xí)慣使用工具的二進(jìn)制包制作環(huán)境,這種方式不僅綠色而且簡單,非常推薦使用。最后希望志同道合的同學(xué)們多多交流學(xué)習(xí)經(jīng)驗。

轉(zhuǎn)載請注明出處......

文章最新地址

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Docker — 云時代的程序分發(fā)方式 要說最近一年云計算業(yè)界有什么大事件?Google Compute Engi...
    ahohoho閱讀 15,828評論 15 147
  • 一、Docker 簡介 Docker 兩個主要部件:Docker: 開源的容器虛擬化平臺Docker Hub: 用...
    R_X閱讀 4,510評論 0 27
  • 轉(zhuǎn)載自 http://blog.opskumu.com/docker.html 一、Docker 簡介 Docke...
    極客圈閱讀 10,728評論 0 120
  • 用三十秒表達(dá)出重點。大部分的why小部分的what一帶而過的how 用why表達(dá)出反差感,讓對方感到這是怎么做到的...
    idyllis閱讀 287評論 0 0
  • 1、真正的銷售是一個愉快的聊天過程;聊對方的心愿、聊對方的擔(dān)憂、聊如何完成對方的心愿、聊如何拿走對方的擔(dān)憂。 2、...
    穆沐Vove閱讀 688評論 0 1

友情鏈接更多精彩內(nèi)容