У меня есть два компилятора GCC, установленные на компьютере Linux (CentOS). Старая версия GCC (4.4.7) находится в папке по умолчанию (поставляется с CentOS), а более новая, которую я намереваюсь использовать, находится в /usr/local/gcc/4.9.3/. Мой код использует библиотеки MPI и LAPACK/LAPACKE/BLAS, а со старым GCC я использовал для компиляции источника (например, «main.cpp») следующим образом:Как сменить компилятор GCC по умолчанию для использования с MPI на Linux CentOS
mpiCC main.cpp -o main -L/home/USER1/lapack-3.6.1 -llapacke -llapack -lblas -lm -Wall
Это все еще вызывает старение GCC 4.4.7. Что мне следует изменить, поэтому приведенная выше MPI-компиляция (mpiCC) вызывает GCC 4.9.3 исполняемый файл из нового местоположения в /usr/local/gcc/4.9.3/el6/bin/?
От Mpich монтажника Руководство по версии 3.2 (страница 6):
«Шаг настроить MPICH попытается найти C, C++ и Fortran компиляторы для вас, но если вы либо хотите, чтобы переопределить значение по умолчанию или необходимость для указания компилятора, который configure не распознает, вы можете указать их в командной строке [...]. Например, чтобы выбрать компиляторы Intel вместо компиляторов GNU в системе с обоими, используйте «
./configure CC=icc CXX=icpc F77=ifort FC=ifort ...
Есть ли способ дистрибуции между различными версиями компиляторов GCC в ./configure
?
По какой причине у вас установлены две версии gcc? Вы можете просто обновить старый, который поставляется с ОС. –
Причина в том, что CentOS имеет множество зависимостей от GCC 4.4.7. (эта версия точно), и нельзя просто заменить GCC на более новую, но она должна быть установлена на стороне новой. Почему это так, я не знаю. С другой стороны, 4.4.7 не работает для меня, и у меня есть компиляция кода/работа с более высокими версиями. – Boki