Я смог воспроизвести проблему, с которой вы столкнулись, и смог успешно скомпилировать EXCiT! NG. Большая подсказка была в вашем комментарии, где упоминалась ошибка xsltproc
. Обратите внимание, что сообщение об ошибке гласит: xsltproc: not found
, что означает, что сама команда отсутствует и необходимо установить соответствующий пакет; Кроме того, нужно быть осторожным, чтобы убедиться, что проект полностью «чистый», прежде чем пытаться перекомпилировать снова.
Следующая процедура была выполнена в системе Debian (stretch), поэтому вам нужно будет заменить команды установки пакета на соответствующие команды для вашей системы.
Предварительная установка
Сначала убедитесь, что необходимые пакеты существуют:
sudo apt install build-essential make gfortran xsltproc git
Пакет build-essential
необходим для того, чтобы были доступны стандартные C-компиляторы и библиотеки. make
необходим для сборки пакета (как упомянуто в EXCiT! NG README ), и кажется, что только gfortran
доступен в системах Debian, и поэтому я не тестировал установку с g95
. Пакет xsltproc
предоставляет команду xsltproc
, чтобы можно было скомпилировать библиотеки XML (FoX XML); обратите внимание, что это могло быть причиной ошибки, о которой вы упоминали изначально, потому что вы получили сообщение об ошибке, например:
../Make.common:107: die Regel für Ziel „lib/libFoX_common.a“ scheiterte
Требуется пакет git
, чтобы исходный код можно было извлечь из GitHub.
Клонирование и построение проекта
После клонирования исходного кода и входа в каталог проекта
git clone git@github.com:exciting/exciting.git
cd exciting/
Это был просто вопрос бега
make
и выбрав опцию gfortran
в меню, а затем ответить «нет» на вопросы о MPI и SMP, которые казались рекомендуемым ответом по умолчанию. Кроме того, я заметил, что в вашем сообщении об ошибке упоминается "serial" make
target
Makefile:14: die Regel für Ziel „serial“ scheiterte
поэтому я предполагаю, что это также настройки, которые вы используете.
После этого make
успешно завершен. Запуск набора тестов через
make test
к сожалению, не прошло, однако, похоже, ошибки связаны с усеченными строками, например,
Error: Line truncated at (1) [-Werror=line-truncation]
../../src/src_eigensystem/hmlint.f90:296:132: haaij(if1,if3,ias)=zsum+t1*apwfr(nrmt(is),1,io1,l1,ias)*apwdfr(io2,l1,ias)*1d0/(1d0-veffmt(1,nrmt(is),ias)*y00*a)
, что может быть проблемой gfortran
, однако трудно сказать. Это может быть случай, когда программное обеспечение работает как ожидалось; это то, что вы должны будете проверить, сравнив выходные данные программы с известной системой DFT.
Уменьшение потенциальных ошибок с помощью чистой директории проекта
Обратите внимание, что очистка проекта после неудачной сборки с помощью
make clean
и перестройка, похоже, не хотела строить проект успешно. Мне пришлось вернуться к полному удалению проекта и повторному клонированию из GitHub.