centos编译升级cmake,痛苦的Linux小白

环境

root 用户


下载

cmake官网下载地址:https://cmake.org/download/

在这里插入图片描述

获取下载地址,右击cmake-3.27.4.tar.gz

在这里插入图片描述

命令行输入链接地址,下载

wget https://github.com/Kitware/CMake/releases/download/v3.27.4/cmake-3.27.4.tar.gz
解压
tar -zxvf cmake-3.27.4.tar.gz

配置编译环境
cd cmake-3.27.4
./configure --prefix=/usr/local/cmake-3.27.4
配置失败,could not find openssl…

在这里插入图片描述

原因:缺少 openssl 的编译依赖

解决:安装openssl

yum -y install openssl openssl-devel

编译
make && make install

查看cmake版本
cmake --version

发现还是原来的版本…,用sudo cmake --version则是最新安装的版本

cmake --version和sudo cmake --version版本不一致

对于不慎了解Linux系统的,解决问题是痛苦的…

which cmake

which cmake, 发现当前cmake的路径为 /usr/local/bin,而我安装的路径为 /usr/local/cmake-3.27.4,软连接的路径为/usr/bin/

于是,添加系统环境变量…

可以在 /etc/profile文件中添加,但是Linux推荐在 /etc/profile.d/路径中添加脚本

于是,创建了一个cmake.sh的脚本

export CMAKE_HOME=/usr/local/cmake-3.27.14
export PATH=$PATH:$CMAKE_HOME/bin

创建完脚本执行source命令

source /etc/profile

操作完成后,执行cmake --version 发现还是原来的旧版本🤬

于是,env,查看系统环境变量,发现已经添加了,为什么还是不行???

突然想到,环境变量查找是有顺序的,前边的路径中找到后边的就不再查找了

在这里插入图片描述

旧版本的cmake在/usr/local/bin的路径中,而我新添加的在/usr/local/cmake-3.27.4的路径

于是调整了环境变量的顺序,新版本的路径放在环境变量的最前边

export CMAKE\_HOME=/usr/local/cmake-3.27.14 
export PATH=\$CMAKE\_HOME/bin:\$PATH

别忘记了source

cmake --version,铛铛铛…,大功告成😁


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/70164.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何重置 docker中的mariadb的root

停止 Mariadb 容器&#xff1a;运行以下命令停止正在运行的 Mariadb 容器&#xff1a; docker stop <container_name>将 <container_name> 替换为你的 Mariadb 容器的名称或容器ID。 删除 Mariadb 容器&#xff1a;运行以下命令删除已停止的 Mariadb 容器&#x…

基于Pytest+Allure+Excel的接口自动化测试框架

1. Allure 简介 简介 Allure 框架是一个灵活的、轻量级的、支持多语言的测试报告工具&#xff0c;它不仅以 Web 的方式展示了简介的测试结果&#xff0c;而且允许参与开发过程的每个人可以从日常执行的测试中&#xff0c;最大限度地提取有用信息。 Allure 是由 Java 语言开发…

鼠标键盘管理 ShareMouse for Mac最新

软件“ShareMouse”允许您通过单个鼠标和键盘控制多台计算机&#xff1a; 将鼠标移动到您想要控制的计算机的监视器上&#xff0c;指针会神奇地跳转到该计算机。任何鼠标和键盘输入都会传输到相应的计算机。 与网络KVM类似&#xff0c;ShareMouse通过本地LAN传输鼠标移动和点…

Python 推导式

Python 推导式 Python 推导式是一种独特的数据处理方式&#xff0c;可以从一个数据序列构建另一个新的数据序列的结构体。 Python 支持各种数据结构的推导式&#xff1a; 列表(list)推导式字典(dict)推导式集合(set)推导式元组(tuple)推导式 列表推导式 列表推导式格式为&…

【ARM AMBA5 CHI 入门 12 -- CHI 总线学习 】

文章目录 介绍CHI 特点Layers of the CHI architectureTopology Node TypeTransaction 分类Transaction 路由SAM 介绍Node ID 节点间数据怎么传输的呢&#xff1f; 介绍 CHI 的全称是 Coherent Hub Interface。所以从名字就能看出&#xff0c;CHI要解决什么问题了。按照惯例&a…

CentOS7安装时直接跳过了安装信息摘要页面的解决方法

最近在配置Hadoop虚拟机的时候&#xff0c;创建的centos7虚拟机在安装信息摘要时直接自动跳过&#xff0c;直接跳到设置用户名和密码&#xff0c;在重复多次的重新删除安装后发现了问题所在&#xff1a; 在进行到选择操作系统来源时&#xff0c;注意是否出现“该操作系统将使用…

什么程度才算精通 Linux?

前言 Linux 的优秀之处自然不必多说。 如果将操作系统比作一辆汽车&#xff0c;那 Linux 就是一辆性能出色的多功能越野车&#xff0c;上山下海飞天无所不能。 如果你拥有了它&#xff0c;一定不会只满足于驾驶它上下班&#xff0c;不能只会挂挡、踩油门和控制方向之类的基本…

前端面试的话术集锦第 5 篇:高频考点( 类型转换 深浅拷贝 模块化机制等)

这是记录前端面试的话术集锦第五篇博文——高频考点(类型转换 & 深浅拷贝 & 模块化机制等),我会不断更新该博文。❗❗❗ 1. typeof类型判断: typeof是否能正确判断类型? instanceof能正确判断对象的原理是什么 typeof对于原始类型来说,除了null都可以显示正确的类…

【宜居星球改造计划】Python 实现

1.题目 2XXX年&#xff0c;人类通过对火星的大气进行宜居改造分析&#xff0c;使得火星已在理论上具备人类宜居的条件&#xff0c;由于技术原因&#xff0c;无法一次性将火星大气全部改造&#xff0c;只能通过局部处理形式&#xff0c;假设将火星待改造的区域为row*column的网格…

npm设置国内源(淘宝镜像源),解决npm包下载速度慢的问题

前景提要 因为众所周知的原因&#xff0c;我们从拉取从官方源拉取npm 依赖&#xff0c;经常容易出现超时&#xff0c;拉取失败的情况。这个时候我们就非常有必要切换使用国内源了&#xff0c;如淘宝源等 临时使用 npm --registry https://registry.npm.taobao.org install X…

【vue2第十五章】VueRouter 路由配置(VueRouter)与使用 和 router-link与router-view标签使用

单页面应用 与 多页面应用 单页面应用&#xff08;Single-Page Application&#xff0c;SPA&#xff09;和多页面应用&#xff08;Multi-Page Application&#xff0c;MPA&#xff09;是 Web 应用程序的两种不同架构方式。它们在页面加载和交互方式上有所区别。 单页面应用&a…

GitHub个人访问凭证在哪看

要查看 GitHub 个人访问凭证&#xff08;Personal Access Token&#xff09;&#xff0c;请按照以下步骤进行操作&#xff1a; 登录到你的 GitHub 帐户。点击右上角的头像&#xff0c;然后选择 “Settings”&#xff08;设置&#xff09;。在左侧导航栏中&#xff0c;选择 “D…

iOS 17中的Safari配置文件改变了游戏规则,那么如何设置呢

Safari在iOS 17中最大的升级是浏览配置文件——能够在一个应用程序中创建单独的选项卡和书签组。这些也可以跟随你的iPad和Mac&#xff0c;但在本指南中&#xff0c;我们将向你展示如何使用运行iOS 17的iPhone。 你可能有点困惑&#xff0c;为什么Safari中没有明显的位置可以添…

【洛谷 P1328】[NOIP2014 提高组] 生活大爆炸版石头剪刀布 题解(模拟+向量)

[NOIP2014 提高组] 生活大爆炸版石头剪刀布 题目描述 石头剪刀布是常见的猜拳游戏:石头胜剪刀,剪刀胜布,布胜石头。如果两个人出拳一样&#xff0c;则不分胜负。在《生活大爆炸》第二季第 8 集中出现了一种石头剪刀布的升级版游戏。 升级版游戏在传统的石头剪刀布游戏的基础…

d435i 相机和imu标定

一、IMU 标定 使用 imu_utils 功能包标定 IMU&#xff0c;由于imu_utils功能包的编译依赖于code_utils&#xff0c;需要先编译code_utils&#xff0c;主要参考 相机与IMU联合标定_熊猫飞天的博客-CSDN博客 Ubuntu20.04编译并运行imu_utils&#xff0c;并且标定IMU_学无止境的…

函数栈帧(详解)

一、前言&#xff1a; 环境&#xff1a;X86Vs2013 我们C语言学习过程中是否遇到过如下问题或者疑惑&#xff1a; 1、局部变量是如何创建的&#xff1f; 2、为什么局部变量的值是随机值&#xff1f; 3、函数是怎么传参的&#xff1f;传参的顺序是怎样的&#xff1f; 4、形…

【群智能算法改进】一种改进的鹈鹕优化算法 IPOA算法[1]【Matlab代码#57】

文章目录 【获取资源请见文章第5节&#xff1a;资源获取】1. 原始POA算法2. 改进后的IPOA算法2.1 Sine映射种群初始化2.2 融合改进的正余弦策略2.3 Levy飞行策略 3. 部分代码展示4. 仿真结果展示5. 资源获取 【获取资源请见文章第5节&#xff1a;资源获取】 1. 原始POA算法 此…

vue中属性执行顺序

vue中属性的执行顺序 在Vue 2中&#xff0c;组件的生命周期和数据绑定的执行顺序如下&#xff1a; data&#xff1a;首先&#xff0c;组件会调用 data 函数&#xff0c;该函数返回一个对象&#xff0c;该对象的属性和方法会被分配给组件的 $data。init&#xff1a;接下来&…

10 种常用的字符串方法

10 种常用的字符串方法 1.concat() 字符串拼接 const str1 12345678;const str2 abcdefgh;const str3 -【】&#xff1b;‘;console.log(str1.concat(str2,str3))//12345678abcdefgh-【】&#xff1b;‘ 2.includes() 判断字符串中是否包含指定值&#xff0c;返回布尔值…

Gartner发布中国科技报告:数据编织和大模型技术崭露头角

近日&#xff0c;全球知名科技研究和咨询机构Gartner发布了关于中国数据分析与人工智能技术的最新报告。报告指出&#xff0c;中国正迎来数据分析与人工智能领域的蓬勃发展&#xff0c;预计到2026年&#xff0c;将有超过30%的白领工作岗位重新定义&#xff0c;生成式人工智能技…