如何更改Linux CentOS上的MPI使用的默认GCC编译器



我在Linux(CentOS)机上安装了两个GCC编译器。GCC(4.4.7)的旧版本位于默认文件夹中(带有CentOS),我打算使用的较新的文件夹位于/usr/local/gcc/4.9.3/中。我的代码使用MPI和Lapack/Lapacke/Blas库,并且使用了我用来编译源的旧GCC(例如" main.cpp"):

mpicc main.cpp -o main -l/home/home/user1/lapack -3.6.1 -llapacke -llapack -llapack -lblas -lm -lm - wall

这仍然调用旧的GCC 4.4.7。我应该修改什么,因此上述MPI汇编(MPICC)调用gcc 4.9.3可执行文件可从/usr/local/gcc/4.9.3/el4.9.3/el6/bin/?

>

来自MPICH安装程序指南3.2(第6页):

" MPICH配置步骤将尝试为您找到C,C 和Fortran编译器,但是如果您要覆盖默认值或需要指定配置不识别的编译器,则可以在命令行[...]。例如,选择Intel编译器,而不是具有两者的系统上的GNU编译器,请使用"

./configure CC=icc CXX=icpc F77=ifort FC=ifort ...

是否有一种方法可以在./configure中的不同版本的GCC编译器之间进行划分?

我猜mpiCC使用$PATH变量中的第一个gcc编译器。

您应该能够通过运行:

设置新版本的GCC。
PATH="/usr/local/gcc/4.9.3/el6/bin:$PATH" mpiCC main.cpp -o main -L/home/USER1/lapack-3.6.1 -llapacke -llapack -lblas -lm –Wall

如果您真的想要同时安装两个版本的GCC,并且在这里使用两个版本是一个很好的链接,可以解释如何做到这一点:

http://gcc.gnu.org/faq.html#multiple

最终找到了如何。这是食谱:

1)检查您的外壳是否为bash,如果未设置为bash:$ echo $ shell

/bin/tcsh

是TCSH,需要设置为bash。

2)切换到bash:$ bash

bash-4.1 $

3)在路径的正面添加新版本的GCC:

bash-4.1 $ export path =/usr/locar/locar/gcc/4.9.3/el6/bin:$ path

4)检查路径:bash-4.1 $ echo $ path

/usr/local/gcc/4.9.3/el6/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin/bin:/bin:/bin:/usr/bin/bin/bin

5)检查使用的GCC的版本(从路径拾取第一个GCC):bash-4.1 $ gcc- version

GCC(GCC)4.9.3

注意:这仅适用于当前会话。

最新更新