Я пытаюсь установить программное обеспечение под названием Plumed в среде HPC, которая основана на csh. Я успешно выполнил установку в среде bash. Обычно в среде bash для настройки используется следующая команда:
./configure --prefix=/home1/GroupAN/kirtika/softwares/plumed/ CC=/home1/GroupAN/kirtika/libraries/bin/mpicc CXX=/home1/GroupAN/kirtika/libraries/bin/mpicxx FC=/home1/GroupAN/kirtika/libraries/bin/mpifort
Я попробовал это для среды csh:
setenv mpicc /opt/mvapich2-1.8/intel/bin/mpicc
setenv mpicxx /opt/mvapich2-1.8/intel/bin/mpicxx
setenv mpifort /opt/mvapich2-1.8/intel/bin/mpifort
setenv plumedir /home1/GroupAN/kirtika/softwares/plumed/
./configure --prefix=$plumedir CC=$mpicc CXX=$mpicxx FC=$mpifort
Не получилось. Ошибка :
configure: error: in `/home/phd/16/mbukirt/plumed-2.2.3':
configure: error: C++ compiler cannot create executables [1]: http://www.plumed.org/
Если кто-то может помочь мне с этим, это будет здорово. Также, как эти строки могут быть настроены для среды csh? Я могу думать только об изменении export
на setenv
export PATH="/home/phd/16/mbukirt/plumed-2.2.3/src/lib/:$PATH"
export LIBRARY_PATH="/home/phd/16/mbukirt/plumed-2.2.3/src/lib/:$LIBRARY_PATH"
export LD_LIBRARY_PATH="/home/phd/16/mbukirt/plumed-2.2.3/src/lib/:$LD_LIBRARY_PATH"
export DYLD_LIBRARY_PATH="/home/phd/16/mbukirt/plumed-2.2.3/src/lib/:$DYLD_LIBRARY_PATH"
export PLUMED_KERNEL="/home/phd/16/mbukirt/plumed-2.2.3/src/lib/libplumedKernel.so"
Фактическая ошибка здесь скрыта в файле config.log
.
Компиляторы MPI mpicc
и mpicxx
(для C и C ++ соответственно) фактически являются «оболочками» вокруг реальных компиляторов. Обертки вызывают компилятор с соответствующими флагами.
Похоже, что оболочка компилятора mpicxx
не находит компилятор icpc
(который является компилятором Intel C ++). В журнале config.log
это показано как
/opt/mvapich2-1.8/intel/bin/mpicxx: line 273: icpc: command not found
. Чтобы решить эту проблему, обратитесь к администратору системы, чтобы узнать, является ли это неправильной конфигурацией установки MPI или вы пропустили загрузку какого-либо программного обеспечения. модуль.
Что касается второй части вопроса,
sh
-style export
команда
export DYLD_LIBRARY_PATH="/home/phd/16/mbukirt/plumed-2.2.3/src/lib/:$DYLD_LIBRARY_PATH"
может быть записана с использованием setenv
как
setenv DYLD_LIBRARY_PATH "/home/phd/16/mbukirt/plumed-2.2.3/src/lib/:$DYLD_LIBRARY_PATH"
в csh
(и аналогично для других строк команд export
). Обратите внимание на отсутствие =
.