CentOS 7下用ccmake指定新版CMake路径解决Geant4编译版本错误
遇到系统默认CMake版本和手动安装版本冲突的情况,你可以通过以下几种方式让ccmake调用你安装的3.15.3版本CMake:
方法1:直接调用新版ccmake的完整路径
首先你需要确认新版CMake的安装路径,比如手动编译安装的CMake通常会放在/usr/local/cmake-3.15.3/bin/(如果是自定义安装路径,替换成你实际的目录即可)。找到路径后,直接运行完整路径的ccmake命令:
/usr/local/cmake-3.15.3/bin/ccmake ../geant4.10.05.p01
这种方式最直接,不需要修改任何环境变量,临时使用非常方便。
方法2:临时修改环境变量PATH
把新版CMake的bin目录添加到PATH最前端,让系统优先查找这个路径下的命令:
- 在当前终端执行:
export PATH=/usr/local/cmake-3.15.3/bin:$PATH
- 之后再运行
ccmake ../geant4.10.05.p01,此时系统会自动调用新版的ccmake和CMake。
如果想让这个设置永久生效,把上面的export命令添加到你的~/.bashrc或者~/.bash_profile文件末尾,保存后执行source ~/.bashrc(或对应的profile文件)即可让设置立即生效。
方法3:用update-alternatives管理默认版本
CentOS 7支持用update-alternatives工具管理同一软件的多个版本,设置默认调用的版本:
- 先为新版CMake和ccmake添加替代项(替换成你的实际安装路径):
sudo update-alternatives --install /usr/bin/cmake cmake /usr/local/cmake-3.15.3/bin/cmake 100 sudo update-alternatives --install /usr/bin/ccmake ccmake /usr/local/cmake-3.15.3/bin/ccmake 100
这里的100是优先级数值,数值越高越优先被系统调用。
2. 配置默认版本:
运行sudo update-alternatives --config cmake,在弹出的选项中选择3.15.3对应的编号;
同样运行sudo update-alternatives --config ccmake,选择对应版本的编号。
完成后,不管在哪个终端运行cmake或ccmake,都会默认调用3.15.3版本了。
小提示
如果不确定新版CMake的安装路径,可以用以下命令查找:
find / -name cmake -type f | grep bin
从输出结果里找到你安装的3.15.3版本的路径即可。
内容的提问来源于stack exchange,提问作者Xinjie Cao




