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版本过低导致的,那么就需要升级cmake到Hadoop要求版本以及更高版本了。

本文主要介绍如何升级CentOS7的cmake版本。

注:笔者使用的Hadoop编译环境是一个基于CentOS7的docker容器,所以以下升级cmake的步骤会涉及到docker的一些操作,除此以外,升级步骤和普通操作系统无异。

升级cmake

进入docker容器

提醒:非docker环境可跳过此步骤

笔者使用的升级docker image的方式是直接进入容器内部,做完相应的修改后,再退出容器,然后 commit 修改到原有image。当然还可以使用 Dockerfile 升级docker image,在此就不再赘述。详情将在docker系列文章说明。

以交互式的方式进入docker容器:

docker run -it xwd/hadoop:centos-7-hadoop bash
复制代码

执行命令之后,就会进入以 xwd/hadoop:centos-7-hadoop 这个 image 为基础的容器的终端了,其操作和普通操作系统终端大致一样。

下载cmake二进制包

这里,笔者使用cmake-3.10.2-Linux-x86_64版本为例。

进入docker容器终端或者普通操作系统终端,下载cmake安装包:

cd /opt
wget https://cmake.org/files/v3.10/cmake-3.10.2-Linux-x86_64.tar.gz
复制代码
升级cmake

如果原有cmake环境就是使用cmake的二进制包制作的,那么直接修改环境变量文件即可。如果不熟悉这种方法的同学,可以在下文看到相关操作。

如果原有环境是使用yum等工具安装,那么,先卸载已有的cmake:

yum remove cmake
复制代码

解压下载好的cmake二进制包:

cd /opt
tar zxvf cmake-3.10.2-Linux-x86_64.tar.gz
复制代码

解压成功后,就可以在 /opt 目录下看到一个 cmake-3.10.2-Linux-x86_64 目录,下面添加cmake环境变量,编辑 /etc/profile.d/cmake.sh 文件,写入以下内容:

export CMAKE_HOME=/opt/cmake-3.10.2-Linux-x86_64
export PATH=$PATH:$CMAKE_HOME/bin
复制代码

保存并退出,执行命令让cmake环境文件生效:

source /etc/profile
复制代码

此时,再次查看cmake版本,就已经是3.10.2了:

cmake -version
复制代码

OK,cmake环境版本升级完毕。

更新docker image

提醒:非docker环境可跳过此步骤

在docker容器内更新完cmake版本之后,执行 exit 命令退出容器,然后提交更新:

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

上述命令具体参数解释,在我的docker系列文章中会讲解

命令成功之后,终端就会出现类似以下的信息:

sha256:cb4a004b41af0a691cb2d78489fb11047081cb85e02c151093ad84198fa5c19d
复制代码

总结

其实在Linux系统中,笔者习惯使用工具的二进制包制作环境,这种方式不仅绿色而且简单,非常推荐使用。最后希望志同道合的同学们多多交流学习经验。


原创不易,与君共勉!

文章最新地址

转载于:https://juejin.im/post/5b0bbc3551882515887ece6d

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值