Ubuntu 14.04下无法使用新安装的MPICH mpich-3.2.1
解决MPICH 3.2.1安装后
which mpicc仍指向OpenMPI的问题 别担心,这个问题很常见,主要是系统环境变量优先级或者命令缓存导致的,按照下面的步骤来就能搞定:
1. 确认MPICH的安装路径
首先你得明确自己把MPICH装在了哪里——如果是源码编译默认安装,路径可能是/usr/local/mpich-3.2.1/bin;如果是自定义目录安装,比如~/mpich-install/bin,先找到这个bin目录的绝对地址。
2. 检查PATH环境变量的顺序
执行下面的命令查看当前PATH的内容:
echo $PATH
你会发现系统自带的OpenMPI相关路径(比如/usr/bin或/usr/local/bin)排在了你添加的MPICH bin目录前面,这就是系统优先找到OpenMPI版本mpicc的原因。
3. 调整PATH的优先级
把MPICH的bin目录放到PATH的最前面,让系统优先搜索它。你需要修改对应的shell配置文件:
- 用bash的话,编辑
~/.bashrc; - 用zsh的话,编辑
~/.zshrc; - 通用场景可以编辑
~/.profile。
在文件末尾添加一行(替换成你自己的MPICH bin路径):
export PATH=/path/to/mpich-3.2.1/bin:$PATH
4. 刷新环境变量并清除命令缓存
保存文件后,执行命令让修改生效:
source ~/.bashrc # 对应你编辑的配置文件
另外,bash会缓存命令的查找结果,需要手动清除缓存:
hash -r
5. 验证是否生效
现在执行which mpicc,应该就指向你新安装的MPICH目录下的mpicc了。再验证版本确认:
mpicc --version
输出应该显示MPICH 3.2.1的相关信息,而非OpenMPI。
如果只是想临时测试,不想修改配置文件,也可以直接在当前终端执行:
export PATH=/path/to/mpich-3.2.1/bin:$PATH hash -r
这样就能临时切换到MPICH的命令,确认可行后再修改配置文件实现永久生效。
内容的提问来源于stack exchange,提问作者Albert
相关产品推荐
相关产品推荐

