29 окт. 2012 г.

Установка DFTB+ на CentOS

Наконец у меня получилось установить DFTB+ на кластер. Установкой я занялся еще пару месяцев назад, но всегда на это не хватало времени, потому что установка под CentOS оказалась не такой тривиальной, как если бы устанавливать DFTB+ на Linux Ubuntu
Итак, прежде всего, особенность компиляции этой программы состоит в том, что для нее используются статические библиотеки. Для всех предыдущих программ были использованы динамические библиотеки от Intel MKL.
Главная моя проблема при установке заключалась в том, что появлялась ошибка линковки статической библиотеки libpthread. Благодаря коллегам с DFTB+ форума я догадался, что у меня на кластере скорее всего нет статической библиотеки libpthread.
Итак, если вылезает ошибка типа 

ld: cannot find -lpthread



значит нужно доустановить эти библиотеки. Для этого пишем

yum install glibc-static.x86_64

После чего все нужные библиотеки будут установлены.
Далее начинаем ставить DFTB+.
Распаковываем

tar -zxvf dftbp_1.1_src.tar.gz

далее заходим в появившуюся папку и копируем файл Makefile.user.template на Makefile.user

cp Makefile.user.template Makefile.user


И в нем вписываем нужную нам строку для нашей системы :

вместо
ARCH = i686-linux-ifort
пишем
ARCH = x86_64-linux-ifort

Затем заходим в папку sysmakes и открываем файл make.x86_64-linux-ifort, где в MKL_LIBDIR = записываем нужный путь для MKL библиотек. В моем случае эта строка выглядит так:


MKL_LIBDIR = /share/intel/mkl/lib/intel64


После чего сохраняем, заходим в  prg_dftb и пишем 


make distclean

make

Затем после удачной компиляции заходим в появившуюся папку _obj_x86_64-linux-ifort и находим запускаемый файл dftb+.


После выпуска параллельной версии DFTB+ я опишу как устанавливать ее.

Комментариев нет:

Отправить комментарий