新开终端报x86_64-conda_cos6-linux-gnu-cc不识别--showme:link错误原因咨询
报错原因说明
你遇到的报错是x86_64-conda_cos6-linux-gnu-cc: error: unrecognized command line option '--showme:link'; did you mean '--force-link'?,触发逻辑如下:
--showme:link是OpenMPI套件中mpicc包装器的专属参数,作用是输出编译链接MPI程序所需的所有参数,普通GCC编译器本身不支持该参数。- 你开启了Anaconda终端自动激活功能后,conda会将自身自带的
x86_64-conda_cos6-linux-gnu-cc编译器路径放到系统PATH的最高优先级,替换了系统默认的编译器路径。 - 你的shell配置文件(如
.bashrc/.zshrc/.profile等)中,在conda初始化代码之后,存在调用mpicc --showme:link的相关语句,该语句在conda环境激活后,调用到的是conda自带的GCC编译器,自然无法识别OpenMPI专属参数,就会抛出该报错。 - 关闭conda自动激活后,终端优先调用系统原生的编译器和MPI相关工具,参数可以被正常识别,报错消失。
可选修复方案
你可以根据自己的使用需求选择对应方案:
- 保留conda自动激活:将shell配置中调用
--showme:link参数的语句,移动到conda初始化代码之前执行,确保调用时优先使用系统原生MPI工具链。 - 保留conda自动激活且需要在conda环境中使用MPI:在conda激活的环境中安装适配的OpenMPI包,执行
conda install openmpi即可。 - 不需要默认激活base环境:保持当前关闭自动激活的配置即可,需要使用conda时手动执行
conda activate激活对应环境。
内容的提问来源于stack exchange,提问作者Hari Viswanath
相关产品推荐
相关产品推荐

