从源代码 Cmake 为 Scientific Linux 7.8 构建
Posted
技术标签:
【中文标题】从源代码 Cmake 为 Scientific Linux 7.8 构建【英文标题】:Building from source Cmake for Scientific Linux 7.8 【发布时间】:2021-01-31 22:50:57 【问题描述】:我安装了 cmake 3.12(CERN ROOT 所需的软件包);但是,在输入“cmake --version”后,我的终端显示 2.8* 作为当前版本。
在我 wget 的文件“tar”之后,我做了以下操作:
cd cmake-3.12.3
./bootstrap --prefix=$HOME/opt/cmake3.12.3
make
make install
为什么会这样? ./bootstrap 命令在这里是什么意思或做什么?
值得一提的是,我正在通过 ssh 在服务器上工作,但我没有任何 root 权限(也不会获得它们),所以决定从源代码构建。
我发现很少有关于我的问题的类似/相关问题,但我是一名 Linux 新手,我并没有从这些答案中得到太多。
【问题讨论】:
使用--prefix=$HOME/opt/cmake3.12.3
表示CMake 将安装在给定目录下。该目录通常不会搜索可执行文件,因此当您键入cmake
时不会考虑您的安装。您需要相应地调整 PATH
变量。 (如果你是 Linux 新手,不知道 PATH
变量是什么意思,我建议你先学习一下。)
@Tsyvarev 感谢您的评论!我一直在阅读有关 PATH 的信息,并且我更好地了解发生了什么。我检查了 $HOME 并且我没有任何 /opt 目录。我想从头开始......现在我被告知使用另一个路径,即 /emph/app/ydeniz,来安装我的所有程序。 ydeniz 是一个新的空目录,我应该在其中设置我需要的所有内容......现在 --prefix= 的好路径的示例是什么?
您可以选择任何前缀。如果目录不存在,则会自动创建。安装后需要对PATH
变量进行相应调整。
哦!我知道了,非常感谢!
【参考方案1】:
解决方案如下:
选择下载 tar cmake* 文件的路径,然后解压缩
我在其他地方创建了一个名为“local”的附加目录,确保使用 pwd 知道该目录的路径(结果应该类似于 /xxx/xxx/local)
进入新的cmake*目录(解压时创建)
然后
cd cmake*
./bootstrap
./configure --prefix=/xxx/xxx/local #indicates the path for the installation
make
make install
在新终端上,使用任何编辑器(我使用 nano)修改您的 .bashrc 和 .bash_profile 并将以下行添加到文件中:
export PATH=/xxx/xxx/local/bin:$PATH #indicates where to look when using cmake command.
保存退出
终于
source $HOME/.bashrc
source $HOME/.bash_profile
现在cmake --version
应该返回您想要的版本
【讨论】:
以上是关于从源代码 Cmake 为 Scientific Linux 7.8 构建的主要内容,如果未能解决你的问题,请参考以下文章
R语言禁止数值表示为科学计数法实战(Turn Off Scientific Notation ):全局设置或者单变量设置