从源代码 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 构建的主要内容,如果未能解决你的问题,请参考以下文章

Cmake将参数解析为代码

1073 Scientific Notation

R语言禁止数值表示为科学计数法实战(Turn Off Scientific Notation ):全局设置或者单变量设置

Visual Stdio 环境下使用 GSL (GNU Scientific Library)

如何为插件组件设置 CMAKE 导入目标?

“找不到 -l <​​目录>”错误 - CMake