Centos7安装高版本Cmake

本文提供了一个详细的步骤来安装和配置CMake。从下载CMake压缩文件开始,通过解压、编译并最终安装到系统中,包括如何移除旧版本及创建必要的链接,最后验证安装是否成功。

下载Cmake

wget https://cmake.org/files/v3.6/cmake-3.6.2.tar.gz

解压Cmake

tar xvf cmake-3.6.2.tar.gz && cd cmake-3.6.2/

编译安装cmake

./bootstrap
gmake
gmake install

查看编译后的cmake版本

 /usr/local/bin/cmake --version

移除原来的cmake版本

 yum remove cmake -y

新建软连接

 ln -s /usr/local/bin/cmake /usr/bin/

终端查看版本

cmake --version

出现版本表示成功!cmake编译完成

一、安装MySQL 1、安装cmake cd /usr/local/src tar zxvf cmake-2.8.11.2.tar.gz cd cmake-2.8.11.2 ./configure make make install 2、安装MySQL groupadd mysql #添加mysql组 useradd -g mysql mysql -s /bin/false #创建用户mysql并加入到mysql组,不允许mysql用户直接登录系统 mkdir -p /data/mysql #创建MySQL数据库存放目录 chown -R mysql:mysql /data/mysql #设置MySQL数据库存放目录权限 mkdir -p /usr/local/mysql #创建MySQL安装目录 cd /usr/local/src #进入软件包存放目录 tar zxvf mysql-5.6.19.tar.gz #解压 cd mysql-5.6.19 #进入目录 cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc #配置 make #编译 make install #安装 rm -rf /etc/my.cnf #删除系统默认的配置文件(如果默认没有就不用删除) cd /usr/local/mysql #进入MySQL安装目录 ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql #生成mysql系统数据库 ln -s /usr/local/mysql/my.cnf /etc/my.cnf #添加到/etc目录的软连接 cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld #把Mysql加入系统启动 chmod 755 /etc/init.d/mysqld #增加执行权限 chkconfig mysqld on #加入开机启动 vi /etc/rc.d/init.d/mysqld #编辑 basedir=/usr/local/mysql #MySQL程序安装路径 datadir=/data/mysql #MySQl数据库存放目录 :wq! #保存退出 service mysqld start #启动 vi /etc/profile #把mysql服务加入系统环境变量:在最后添加下面这一行 export PATH=$PATH:/usr/local/mysql/bin :wq! #保存退出 source /etc/profile #使配置立刻生效 下面这两行把myslq的库文件链接到系统默认的位置,这样你在编译类似PHP等软件时可以不用指定mysql的库文件地址。 ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql ln -s /usr/local/mysql/include/mysql /usr/include/mysql mkdir /var/lib/mysql #创建目录 ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock #添加软链接 mysql_secure_installation #设置Mysql密码,根据提示按Y 回车输入2次密码
<think>我们有一个明确的任务:在CentOS7系统上同时保留已安装cmake2.8,并安装一个高版本cmake(比如3.6.2或更高)。这样,用户可以根据需要使用不同版本的cmake。分析:根据引用[1][2][3][4][5]提供的方法,我们可以总结出:1.现有的cmake2.8可能是通过yum安装的,也可能是通过源码安装的。2.高版本cmake通常通过源码编译安装,并安装到自定义目录(比如/usr/local/cmake)中,这样不会覆盖系统自带的cmake。目标:安装高版本cmake(例如3.29.2)到独立目录,同时保留原有的cmake2.8。步骤:1.确保系统已安装必要的编译工具(如gcc,make等)。2.下载高版本cmake源码。3.将高版本cmake安装到指定目录(如/usr/local/cmake-3.29.2),这样不会影响系统默认路径下的cmake(即2.8版本)。4.通过设置环境变量(例如在用户配置文件或系统配置文件中)来切换需要使用的cmake版本。具体步骤:1.卸载现有高版本(如果之前安装过,避免冲突)并确保编译环境根据引用[5],如果之前通过yum安装了低版本,我们可能想保留,所以不需要卸载原有的cmake2.8(通过yum安装cmake默认在/usr/bin/cmake)。我们只需要确保有编译环境,如果没有,则安装:```bashsudoyumgroupinstall"DevelopmentTools"sudoyuminstalllibssl-dev#如果需要支持OpenSSL,否则可以跳过,但根据引用[5]有时需要,可先安装```2.下载高版本cmake源码(以3.29.2为例)```bashwgethttps://cmake.org/files/v3.29/cmake-3.29.2.tar.gztar-xzvfcmake-3.29.2.tar.gzcdcmake-3.29.2```3.配置并指定安装目录我们可以通过`--prefix`选项指定安装目录,例如/usr/local/cmake-3.29.2```bash./bootstrap--prefix=/usr/local/cmake-3.29.2```如果遇到关于OpenSSL的问题,可以按照引用[5]的方法:-如果不需要OpenSSL,可以添加`---DCMAKE_USE_OPENSSL=OFF`参数,即:```bash./bootstrap--prefix=/usr/local/cmake-3.29.2---DCMAKE_USE_OPENSSL=OFF```-或者,安装OpenSSL开发包:`sudoyuminstallopenssl-devel`4.编译并安装```bashmakesudomakeinstall```5.设置环境变量我们不想覆盖系统默认的cmake(即2.8版本),所以通过修改用户的环境变量(比如在~/.bashrc中)或者系统全局文件(/etc/profile)来添加新版本cmake的路径,并且放在PATH前面,这样在需要的时候可以优先使用高版本。但是,我们同时希望保留两个版本,并且可以自由切换。因此,我们可以通过创建符号链接或定义别名(alias)的方式,或者手动修改PATH变量的顺序。方法1:临时使用(在命令行中执行)每次想用高版本时,在终端执行:```bashexportPATH=/usr/local/cmake-3.29.2/bin:$PATH```方法2:永久使用高版本(修改全局配置文件,但会覆盖系统默认)我们不建议直接修改全局配置文件来覆盖,因为这样会导致系统默认使用高版本。如果希望默认使用高版本,则可以修改/etc/profile或~/.bashrc,在文件末尾添加:```bashexportPATH=/usr/local/cmake-3.29.2/bin:$PATH```然后执行`source/etc/profile`或`source~/.bashrc`使生效。方法3:不修改PATH,而是使用别名(alias)或单独命令我们可以创建一个别名,例如:```bashaliascmake3='/usr/local/cmake-3.29.2/bin/cmake'```然后在需要使用高版本的时候使用`cmake3`命令,而系统默认的仍然是`cmake`(即2.8版本)。将别名定义添加到~/.bashrc中,这样每次登录都会生效。方法4:使用符号链接我们可以在/usr/local/bin(或~/bin)中创建指向高版本cmake的符号链接,并取不同的名字(比如cmake3)。这样,用户可以直接输入cmake3来使用新版本。```bashsudoln-s/usr/local/cmake-3.29.2/bin/cmake/usr/local/bin/cmake3```6.验证执行:```bashcmake--version#应该显示旧版本(2.8)cmake3--version#应该显示新版本(3.29.2)```说明:如果系统没有安装cmake2.8,那么系统可能默认没有cmake,但用户要求保留现有的2.8,所以假设2.8已经存在(可能通过yum安装)。注意:在编译其他软件时,如果需要指定cmake版本,可以在命令中直接使用`cmake3`(如果使用上述方法4)或者使用完整的路径(/usr/local/cmake-3.29.2/bin/cmake)。根据引用[5]中提到的卸载方法,如果之前安装高版本并且不是通过这种方法(独立目录)安装的,可能需要先卸载之前的高版本(按照引用[5]的方法手动删除)。因此,完整步骤归纳如下:步骤1:安装依赖```bashsudoyumgroupinstall"DevelopmentTools"sudoyuminstallopenssl-devel#可选,如果编译时需要```步骤2:下载并解压```bashwgethttps://cmake.org/files/v3.29/cmake-3.29.2.tar.gztar-xzvfcmake-3.29.2.tar.gzcdcmake-3.29.2```步骤3:配置并指定安装路径```bash./bootstrap--prefix=/usr/local/cmake-3.29.2```步骤4:编译和安装```bashmakesudomakeinstall```步骤5:创建符号链接(或者设置环境变量,这里使用符号链接方法)```bashsudoln-s/usr/local/cmake-3.29.2/bin/cmake/usr/local/bin/cmake3#如果/usr/local/bin已经在PATH中,就可以直接使用cmake3命令```步骤6:测试```bashcmake--version#应该是原来的版本cmake3--version#应该是3.29.2```这样,用户可以根据需要使用`cmake`(旧版本)或`cmake3`(新版本)命令。注意:如果用户希望使用新版本的其他工具(比如ccmake,cpack等),同样可以为这些工具创建符号链接。替代方案:使用module工具(如EnvironmentModules)来管理多个版本,但这需要额外安装module工具,对于简单的需求,符号链接或别名已经足够。以上步骤实现了在CentOS7上同时保留cmake2.8并安装高版本cmake的需求。</think> 以下是在CentOS 7系统上**同时保留CMake 2.8并安装高版本CMake**的完整解决方案,采用**双版本共存**的方式: ### 解决方案步骤 1. **验证现有CMake 2.8** 首先确认系统默认的CMake 2.8是否正常工作: ```bash cmake --version # 应显示2.8.x版本 ``` 2. **安装高版本CMake(以3.29.2为例)** ```bash # 下载新版源码 wget https://cmake.org/files/v3.29/cmake-3.29.2.tar.gz tar -xzvf cmake-3.29.2.tar.gz cd cmake-3.29.2 # 编译安装到独立目录 ./bootstrap --prefix=/usr/local/cmake-3.29.2 make -j$(nproc) sudo make install ``` 3. **设置多版本共存(核心步骤)** ```bash # 为旧版本创建保留别名 sudo ln -s /usr/bin/cmake /usr/bin/cmake28 # 将系统默认cmake重命名为cmake28 # 创建新版本命令链接 sudo ln -s /usr/local/cmake-3.29.2/bin/cmake /usr/bin/cmake3 # 验证共存 cmake28 --version # 应显示2.8.x cmake3 --version # 应显示3.29.2 ``` 4. **环境切换配置(可选)** 在`~/.bashrc`添加环境变量开关: ```bash echo 'alias use-cmake3="export PATH=/usr/local/cmake-3.29.2/bin:\$PATH"' >> ~/.bashrc echo 'alias use-cmake28="export PATH=/usr/bin:\$PATH"' >> ~/.bashrc source ~/.bashrc ``` 使用方式: ```bash use-cmake3 # 切换至高版本环境 cmake --version # 此时为3.x use-cmake28 # 切回旧版本 ``` ### 关键说明 1. **互不干扰原理** - 旧版路径:`/usr/bin/cmake28`(原系统默认CMake 2.8) - 新版路径:`/usr/local/cmake-3.29.2/`(独立安装目录) - 通过符号链接实现版本切换,避免覆盖文件[^5] 2. **依赖处理** - 编译前确保安装依赖: ```bash sudo yum install gcc-c++ make openssl-devel libcurl-devel ``` - 若`./bootstrap`报错SSL相关错误,添加编译参数: ```bash ./bootstrap -- -DCMAKE_USE_OPENSSL=OFF # 或安装openssl-devel解决 ``` 3. **版本调用** | 命令 | 调用版本 | 使用场景 | |--------------|----------|-------------------------| | `cmake28` | 2.8.x | 需要兼容旧项目的场景 | | `cmake3` | 3.x | 需要新特性的项目 | | `cmake` | 由环境变量决定 | 通过alias切换默认版本 | ### 验证与卸载 ```bash # 验证双版本 cmake28 --version # 输出: cmake version 2.8.12.2 cmake3 --version # 输出: cmake version 3.29.2 # 卸载高版本(不影响旧版) sudo rm -rf /usr/local/cmake-3.29.2 /usr/bin/cmake3 ``` > **重要提示**:避免使用`yum remove cmake`卸载旧版,这会导致系统工具链依赖问题[^2]。此方案确保CMake 2.8始终作为系统基础组件保留[^4]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

The_Web3_社区

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值