简单的记了一下,在ubuntu 9.10和fedora 12中安装成功,硬件平台是thinkpad x200和lenovo扬天M8200四核版本的台式机。最后在一个神州的本子上也实现了,CPU是赛扬M的。
I Vasp Installation Document
操作系统环境:Ubuntu 9.10 x32
硬件环境:VMWare Workstation at Intel P8600,Celeron M 430
1. 安装IntelFortran Compiler非商业版本
检测到CriticalPre-requisites,安装g++,执行:
sudo apt-getinstall g++
完成上述检查后检测到几个小毛病,大意是:JREnot found、OS unknown、glibc not support和binutils package not support。JRE不装了,太大,不知道下到何年马月,更新了一下binutils,还是这几个毛病,不管了,继续。
安装完了fortran编译器,设置环境变量:
source /opt/intel/Compiler/11.1/069/bin/ifortvars.sh ia32
这个是一个临时的方法,如果下次还要用到ifort的话需要把文件写入/etc/profile中,这个方法网上有,自己找吧。
2. 解压Atlas的数学函数库
这个在网上有,链接是http://www.netlib.org/atlas/archives/linux/。不过需要注意的是,这里面有很多处理器版本,我的两个实验平台都支持SSE2,所以选择P4,如果是AMD的选择Athlon版本的二进制包。
3. 编译Vasp
首先需要安装libstdc++5的库,Ubuntu9.10默认只安装了libstdc++5,执行下面两条命令
wget http://mirros.kernel.org/ubuntu/pool/universe/g/gcc-3.3/libstdc++5_3.3.6-17ubuntu1_i386.deb
Sudo dpkg –I libstdc++5_3.3.6-17ubuntu1_i386.deb
接着编译Vasp的lib,进入目录vasp.4.lib,删除所有的.o文件,选择需要的make文件,我的是用makefile.linux_ifc_P4,然后修改这个makefile:
第19行吧ifc改成ifort。然后编译:
make –f makefile.linux_ifc_P4
这个时候会出现f951错误,大意是execvp找不到啥东西,这个是gcc的bug,卸载gcc和g++,删掉所有.o文件重新编译即可。编译完成后会得到libdmy.a
接下来安装gfortran,这个是为了下面安装fftw的,命令很简单:
apt-get install gfortran
接着安装fftw3,这个也可以在官网上找到http://www.fftw.org
解压后进入fftw的目录,需要配置几个东西:
export CC=”gcc –m32”
export F77=”gfortran –m32”
然后安装fftw:
./configure –enable-sse2 –prefix=/opt/libs/fftw3.2.2
make
make install
安装完毕后就可以开始编译vasp了,进入vasp.4.6的文件夹,编辑makefile.linux_ifc_P4文件,需要更改下面几个地方:
第一个是编译器的选择,把ifc改成ifort;
第二个是Atlas函数库的home路径,改成/opt/Linux_P4SSE2/lib(不同的CPU路径不一样),接着把下面一行的BLAS路径的注释取消掉;
第三个是去掉300行左右的编译命令的-e95选项;
然后把/opt/intel/Compiler/11.1/069/mkl/include/fftw3.f文件拷到vasp.4.6目录下面,更改当前目录下的preprocess文件的权限为755。然后开始编译吧,最后会得到vasp可执行文件的
4. 乱七八糟的处理软件安装,lev等等……
安装lev的时候需要安装fortran编译器g77,本来想用intel Fortran Compiler代替的,结果不行,f77,fort,gfortran都不行,没办法只好安装g77了。g77安装比较简单:
1)至ftp://ftp.ntu.edu.tw/pub/gnu/gnu/g77下载g77-0.5.23.tar.gz
至ftp://ftp.ntu.edu.tw/pub/gnu/gnu/gcc下载gcc-2.8.1.tar.gz
确定这两个东西是相容的(g77-0.5.23.tar.gz跟gcc-2.8.*.tar.gz等版本相容)
可以先解压g77-0.5.*.tar.gz然后查看解压后资料夹内的./f/INSTALL档案查看跟它相容的gcc版本.
2)用root的身分在/usr/下制造一个叫FSF的目录,如以下指令
#cd /usr
#mkdir FSF
将下载好的两个压缩档移到FSF目录中
#mv g77-0.5.23.tar.gz /usr/FSF
#mv gcc-2.8.1.tar.gz /usr/FSF
3)接下来跟着以下指令一步一步做,不要改变任何细节:
#cd /usr/src
#gunzip -c < /usr/FSF/gcc-2.8.1.tar.gz | tar xf - (注意|是pipe)
#gunzip -c < /usr/FSF/g77-0.5.23.tar.gz | tar xf -
#ln -s gcc-2.8.1 gcc
#ln -s g77-0.5.23 g77
#mv -i g77/* gcc
#cd gcc
#./configure –prefix=/usr
#make bootstrap (这里请耐心等它跑完这边最容易出错)
#make compare
#rm -fr stage1
#make -k install
#g77 -v (检查g77版本确定已安装OK)
4)详细说明请参看g77-0.5.23.tar.gz解压后的./g77-0.5.23/f/INSTALL档