如何更改默认的GCC编译器要与MPI在Linux上使用的CentOS(How to change d

2019-09-27 01:12发布

我安装了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主-L /家庭/ USER1 / LAPACK-3.6.1 -llapacke -llapack -lblas -lm -Wall

这仍然调用旧GCC 4.4.7。 我应该怎么修改使上述MPI编译(mpiCC)从/usr/local/gcc/4.9.3/el6/bin/新的位置调用GCC 4.9.3可执行文件?

从MPICH安装指南3.2版(第6页):

“在MPICH配置阶段将尝试找到C,C ++和Fortran编译器给你,但如果你既要覆盖默认或需要指定配置不承认一个编译器,你可以在命令行上指定它们[...]例如,要选择既具有系统上的英特尔编译器代替GNU编译器,使用”

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

有没有办法在不同版本的GCC编译之间进行dicriminate ./configure

Answer 1:

我想mpiCC使用第一个gcc在编译器中发现$PATH变量。

您应该能够通过运行到设定的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


Answer 2:

如果你真的想安装在同一时间GCC的两个版本,并使用他们的都在这里是解释如何做到这一点的好链接:

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



Answer 3:

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

1)检查你的,如果你shell是bash,如果不将其设置为来砸:$回声$ SHELL

/斌/ tcsh的

这是tcsh中,需要进行设置来砸。

2)切换到bash中:$庆典

庆典-4.1 $

3)GCC的新版本添加到PATH的前面:

庆典-4.1 $出口PATH =在/ usr /本地/ GCC / 4.9.3 / EL6 /斌:$ PATH

4)检查路径:bash的4.1 $回声$ PATH

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

5)使用GCC的检查版本(它拿起从PATH第一GCC)的bash-4.1 $ GCC --version

GCC(GCC)4.9.3

注意:这仅仅是对当前会话。



文章来源: How to change default GCC compiler to be used with MPI on Linux CentOS