24小时热门版块排行榜    

查看: 2921  |  回复: 17

bjmaowei25

铜虫 (小有名气)

引用回帖:
: Originally posted by iamikaruk at 2012-01-03 14:18:03:
把fftw3的文件拷贝到编译目录就行了。

能具体一些吗 ,是拷贝到vasp4.6 文件里面吗?
追求真理
11楼2012-01-03 17:05:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

iamikaruk

木虫 (著名写手)


WDD880227(金币+1): 感谢分享~~ 2012-01-04 10:45:13
bjmaowei25: 回帖置顶 2012-01-07 00:05:40
引用回帖:
11楼: Originally posted by bjmaowei25 at 2012-01-03 17:05:12:
能具体一些吗 ,是拷贝到vasp4.6 文件里面吗?

编译时候需要fftw.f文件,你把这个文件从fftw3的目录拷贝到vasp的编译目录下就可以了。另外,vasp在make clean的时候会把fftw3.f文件删除
[img]http://osu.ppy.sh/stat2/iamikaruk-0.png[/img]
12楼2012-01-04 10:27:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bjmaowei25

铜虫 (小有名气)

首先感谢大家的热心帮忙!

冒昧的把本人的安装麻烦贴出来,希望能得到你的指点,由于实验室本人室唯一一个开始安装vasp软件的人。即使用大家讲的安装经验都不能通过,因为网上的intel compiler, OS更新太快,别人讲的旧系统都不能安装。肯定有很多向我这样,利用最新版本的系统安装vasp,而不能成功的。花了很长时间都没有装成,所以向大家请教了。

1. 系统; Cent os 6.2
uname -a
Linux localhost.localdomain 2.6.32-220.el6.x86_64 #1 SMP Tue Dec 6 19:48:22 GMT 2011 x86_64 x86_64 x86_64 GNU/Linux

2.根据 官方并行安装需要的软件,已下载
l_ccompxe_intel64_2011.8.273.tgz    NCOM_L_CMP_FOR_NR2M-RVWSDGX5.lic     
l_fcompxe_intel64_2011.8.273.tgz      NCOM_L_CMP_FOR_NR2M-RVWSDGX5.lic
mpich2-1.4.1p1.tar.gz
vasp.4.6.tar.gz                          vasp.4.lib.tar.gz
注;由于l_ccompxe_intel64_2011.8.273.tgz 或者l_fcompxe_intel64_2011.8.273.tgz  里面已经带intel MKL,就没有下载MKL

3. 安装软件结果的成功标志
[mao@localhost ~]$ which ifort
/opt/intel/composer_xe_2011_sp1.8.273/bin/intel64/ifort
[mao@localhost ~]$ which icc
/opt/intel/composer_xe_2011_sp1.8.273/bin/intel64/icc
[mao@localhost ~]$ which mpd
/opt/intel/composer_xe_2011_sp1.8.273/mpirt/bin/intel64/mpd
[mao@localhost ~]$ which mpicc
~/Downloads/MPI/mpich2-install/bin/mpicc
[mao@localhost ~]$ which mpiexec
~/Downloads/MPI/mpich2-install/bin/mpiexec
[mao@localhost ~]$ which mpirun
~/Downloads/MPI/mpich2-install/bin/mpirun
[mao@localhost ~]$ which gfortran
/usr/bin/gfortran
[mao@localhost ~]$ which gcc
/usr/bin/gcc
[mao@localhost ~]$ which g++
/usr/bin/g++
[mao@localhost ~]$ which c++
/usr/bin/c++
注;修改了./bashrc

4, vasp 编译
(1)vasp.4.lib.tar.gz

[mao@localhost VASP]$ tar -zxvf vasp.4.lib.tar.gz

vasp.4.lib/

vasp.4.lib/makefile.rs6000

vasp.4.lib/makefile.linux_ifc_P4

vasp.4.lib/sclock_nec.F

vasp.4.lib/sclock_t3d.F

vasp.4.lib/derrf.c

vasp.4.lib/fujitsu.F

vasp.4.lib/README.lapack

vasp.4.lib/ptimers.f

vasp.4.lib/ptimers.h

vasp.4.lib/linpack_double.f

vasp.4.lib/makefile.dec

vasp.4.lib/makefile.nec

vasp.4.lib/makefile.t3d

vasp.4.lib/makefile.t3e

vasp.4.lib/makefile.sgi

vasp.4.lib/makefile.sp2

vasp.4.lib/makefile.sun

vasp.4.lib/makefile.vpp

vasp.4.lib/drdatab.F

vasp.4.lib/lapack_double_1.1.f

vasp.4.lib/crayerrf.F

vasp.4.lib/diolib.F

vasp.4.lib/lapack_double.f

vasp.4.lib/serrf.c

vasp.4.lib/preclib.F

vasp.4.lib/dclock_simple.c

vasp.4.lib/linpack_single.f

vasp.4.lib/makefile.linux

vasp.4.lib/timing_.c

vasp.4.lib/dclock.c

vasp.4.lib/sclock_cray.F

vasp.4.lib/lapack_single.f

vasp.4.lib/makefile.linux_pg

vasp.4.lib/timing_ds20.c

vasp.4.lib/makefile.rs6000_p1

vasp.4.lib/makefile.linux_ifc_ath

vasp.4.lib/makefile.linux_ifc_opt

vasp.4.lib/makefile.linux_pgi_opt

vasp.4.lib/dclock_.c

vasp.4.lib/stripnr

vasp.4.lib/lapack_atlas.f

vasp.4.lib/errf.F

vasp.4.lib/timing.fujitsu.F

vasp.4.lib/makefile.fujitsu

vasp.4.lib/makefile.hpux_itanium

vasp.4.lib/derrf_.c

vasp.4.lib/dclock_ds20.c

vasp.4.lib/makefile.linux_alpha

vasp.4.lib/makefile.linux_efc_itanium

vasp.4.lib/makefile.hp

vasp.4.lib/makefile.cray

vasp.4.lib/timing.c

vasp.4.lib/lapack_single_1.1.f

vasp.4.lib/dlexlib.F

vasp.4.lib/makefile.linux_abs

vasp.4.lib/itmtv.s

vasp.4.lib/derrf_t3d.c

[mao@localhost vasp.4.lib]$ cp makefile.linux_ifc_ath makefile

[mao@localhost vasp.4.lib]$ gedit makefile
        #  FC=ifc  改成 FC=ifort  
[mao@localhost vasp.4.lib]$ make

gcc -E -P -C preclib.F >preclib.f

ifort         -O0 -FI -FR  -c preclib.f

cc -O -c timing_.c

cc -O -c derrf_.c

cc -O -c dclock_.c

gcc -E -P -C diolib.F >diolib.f

ifort         -O0 -FI -FR  -c diolib.f

gcc -E -P -C dlexlib.F >dlexlib.f

ifort         -O0 -FI -FR  -c dlexlib.f

gcc -E -P -C drdatab.F >drdatab.f

ifort         -O0 -FI -FR  -c drdatab.f

ifort         -O0 -FI  -c lapack_double.f

ifort         -O0 -FI  -c linpack_double.f

ifort         -O0 -FI  -c lapack_atlas.f

rm libdmy.a

rm: cannot remove `libdmy.a': No such file or directory

make: [libdmy.a] Error 1 (ignored)

ar vq libdmy.a preclib.o timing_.o derrf_.o dclock_.o  diolib.o dlexlib.o drdatab.o

ar: creating libdmy.a

a - preclib.o

a - timing_.o

a - derrf_.o

a - dclock_.o

a - diolib.o

a - dlexlib.o

a – drdatab.o


得到 libdmy.a


(2)vasp.4.6.tar.gz

[mao@localhost VASP]$ tar -zxvf vasp.4.6.tar.gz

vasp.4.6/

vasp.4.6/xml_writer.F

vasp.4.6/main_mpi.F

vasp.4.6/us.F

vasp.4.6/makefile.rs6000

vasp.4.6/zgemm_opt.f

vasp.4.6/makefile.linux_ifc_P4

vasp.4.6/finite_diff.F

vasp.4.6/lattice.F

vasp.4.6/lattlib.F

vasp.4.6/nonl.inc

vasp.4.6/fftmpi.F

vasp.4.6/fftw3d.F

vasp.4.6/dfast.F

vasp.4.6/LDApU.F

vasp.4.6/relativistic.F

vasp.4.6/dgemv.f

vasp.4.6/fft3dfurth_f77.F

vasp.4.6/dipol.F

vasp.4.6/fft3dfujitsu.F

vasp.4.6/rmm-diis.F

vasp.4.6/asa.F

vasp.4.6/wave_mpi.F

vasp.4.6/ebs.F

vasp.4.6/dos.F

vasp.4.6/elf.F

vasp.4.6/ini.F

vasp.4.6/mix.F

vasp.4.6/mpi.F

vasp.4.6/paw.F

vasp.4.6/pot.F

vasp.4.6/rot.F

vasp.4.6/shm.F

vasp.4.6/edtest.F

vasp.4.6/tet.F

vasp.4.6/stm.F

vasp.4.6/xml.F

vasp.4.6/symbol.inc

vasp.4.6/makefile.dec

vasp.4.6/makefile.nec

vasp.4.6/makefile.t3d

vasp.4.6/makefile.t3e

vasp.4.6/makefile.sgi

vasp.4.6/makefile.sp2

vasp.4.6/makefile.sun

vasp.4.6/makefile.vpp

vasp.4.6/fft3dsimple.F

vasp.4.6/README

vasp.4.6/mkpoints.inc

vasp.4.6/cube.inc

vasp.4.6/fft3dfurth.F

vasp.4.6/makeparam.F

vasp.4.6/scala.F

vasp.4.6/dgemmtest.F

vasp.4.6/sphpro.F

vasp.4.6/fft3dlib.F

vasp.4.6/fft3dnec.F

vasp.4.6/mkpoints.F

vasp.4.6/setex.F

vasp.4.6/constrmag.F

vasp.4.6/all.table

vasp.4.6/poscar.inc

vasp.4.6/xcgrad.F

vasp.4.6/elpol.F

vasp.4.6/zgemmtest.F

vasp.4.6/charge.F

vasp.4.6/stepprecor.F

vasp.4.6/dynbr.F

vasp.4.6/setexch.F

vasp.4.6/stepver.F

vasp.4.6/makefile.linux_pg

vasp.4.6/fileio.F

vasp.4.6/radial.F

vasp.4.6/chgloc.F

vasp.4.6/fft3dessl+furth.F

vasp.4.6/makefile.linux_ifc_ath

vasp.4.6/makefile.linux_ifc_opt

vasp.4.6/mgrid.F

vasp.4.6/poscar.F

vasp.4.6/potex1.F

vasp.4.6/potex2.F

vasp.4.6/hamil_rot.F

vasp.4.6/base.F

vasp.4.6/steep.F

vasp.4.6/makefile.linux_pgi_opt

vasp.4.6/opergrid.F

vasp.4.6/xcspin.F

vasp.4.6/constant.F

vasp.4.6/force.F

vasp.4.6/dyna.F

vasp.4.6/jacobi.F

vasp.4.6/random.F

vasp.4.6/constant.inc

vasp.4.6/fftmpiw.F

vasp.4.6/setexm.inc

vasp.4.6/cl_shift.F

vasp.4.6/nonlr.inc

vasp.4.6/electron.F

vasp.4.6/main.F

vasp.4.6/constr_cell_relax.F

vasp.4.6/music.F

vasp.4.6/wave.inc

vasp.4.6/symlib.F

vasp.4.6/hamil.F

vasp.4.6/makefile.hpux_itanium

vasp.4.6/wavpre.F

vasp.4.6/nonl.F

vasp.4.6/tutor.F

vasp.4.6/fft3dcray.F

vasp.4.6/ffttest.F

vasp.4.6/pm.inc

vasp.4.6/smart_allocate.F

vasp.4.6/fft3dessl.F

vasp.4.6/choleski2.F

vasp.4.6/nonlr.F

vasp.4.6/symmetry.F

vasp.4.6/test.F

vasp.4.6/step.F

vasp.4.6/lattice.inc

vasp.4.6/wave.F

vasp.4.6/makefile.linux_alpha

vasp.4.6/lincom.table

vasp.4.6/makefile.linux_efc_itanium

vasp.4.6/mgrid.inc

vasp.4.6/metagga.F

vasp.4.6/preprocess

vasp.4.6/optreal.F

vasp.4.6/paircorrection.F

vasp.4.6/makefile.altrix

vasp.4.6/pseudo.F

vasp.4.6/makefile.hp

vasp.4.6/fftmpi_map.F

vasp.4.6/wavpre_noio.F

vasp.4.6/makefile.cray

vasp.4.6/pseudo.inc

vasp.4.6/subrot.F

vasp.4.6/param.inc

vasp.4.6/optics.F

vasp.4.6/ftflop.F

vasp.4.6/pardens.F

vasp.4.6/base.inc

vasp.4.6/reader.F

vasp.4.6/writer.F

vasp.4.6/setlocalpp.F

vasp.4.6/rpro.table

vasp.4.6/brent.F

vasp.4.6/broyden.F

vasp.4.6/chain.F

vasp.4.6/xclib.F

vasp.4.6/dgemm_opt.f

vasp.4.6/fft3dlib_f77.F

vasp.4.6/stufak.F

vasp.4.6/makefile.linux_abs

vasp.4.6/mpimy.inc

vasp.4.6/davidson.F

vasp.4.6/broyden.inc

[mao@localhost vasp.4.6]$ cp makefile.linux_ifc_ath makefile

[mao@localhost vasp.4.6]$ gedit makefile

[mao@localhost vasp.4.6]$ make

./preprocess base.f90 -DMPI  -DHOST=\"LinuxIFC_ath\" -DIFC -Dkind8 -DNGZhalf -DCACHE_SIZE=2000 -DPGF90 -Davoidalloc -DRPROMU_DGEMV

mpif90         -FR -lowercase -assume byterecl  -O3 -axK -tpp6  -c base.f90

ifort: command line remark #10010: option '-lowercase' is deprecated and will be removed in a future release. See '-help deprecated'

ifort: command line error: option '-axK' not supported

make: *** [base.o] Error 1



makefile 文件的修改过程;(有4处,坐下面的中文标注)
.SUFFIXES: .inc .f .f90 .F

#-----------------------------------------------------------------------

# Makefile for Intel Fortran compiler for Athlon XP systems

#

# The makefile was tested only under Linux on Intel platforms

# (Suse 5.3- Suse 9.0)

# the followin compiler versions have been tested

# 5.0, 6.0, 7.0 and 7.1 (some 8.0 versions seem to fail compiling the code)

# presently we recommend version 7.1 or 7.0, since these

# releases have been used to compile the present code versions

#

# it might be required to change some of library pathes, since

# LINUX installation vary a lot

# Hence check ***ALL**** options in this makefile very carefully

#-----------------------------------------------------------------------

#

# BLAS must be installed on the machine

# there are several options:

# 1) very slow but works:

#   retrieve the lapackage from ftp.netlib.org

#   and compile the blas routines (BLAS/SRC directory)

#   please use g77 or f77 for the compilation. When I tried to

#   use pgf77 or pgf90 for BLAS, VASP hang up when calling

#   ZHEEV  (however this was with lapack 1.1 now I use lapack 2.0)

# 2) most desirable: get an optimized BLAS

#

# the two most reliable packages around are presently:

# 3a) Intels own optimised BLAS (PIII, P4, Itanium)

#     http://developer.intel.com/software/products/mkl/

#   this is really excellent when you use Intel CPU's

#

# 3b) or obtain the atlas based BLAS routines

#     http://math-atlas.sourceforge.net/

#   you certainly need atlas on the Athlon, since the  mkl

#   routines are not optimal on the Athlon.

#   If you want to use atlas based BLAS, check the lines around LIB=

#

# 3c) mindblowing fast SSE2 (4 GFlops on P4, 2.53 GHz)

#   Kazushige Goto's BLAS

#   http://www.cs.utexas.edu/users/kgoto/signup_first.html

#

#-----------------------------------------------------------------------



# all CPP processed fortran files have the extension .f90

SUFFIX=.f90



#-----------------------------------------------------------------------

# fortran compiler and linker

#-----------------------------------------------------------------------

FC=ifc

# fortran linker

FCL=$(FC)





#-----------------------------------------------------------------------

# whereis CPP ?? (I need CPP, can't use gcc with proper options)

# that's the location of gcc for SUSE 5.3

#

#  CPP_   =  /usr/lib/gcc-lib/i486-linux/2.7.2/cpp -P -C

#

# that's probably the right line for some Red Hat distribution:

#

#  CPP_   =  /usr/lib/gcc-lib/i386-redhat-linux/2.7.2.3/cpp -P -C

#

#  SUSE X.X, maybe some Red Hat distributions:



CPP_ =  ./preprocess <$*.F | /usr/bin/cpp -P -C -traditional >$*$(SUFFIX)



#-----------------------------------------------------------------------

# possible options for CPP:

# NGXhalf             charge density   reduced in X direction

# wNGXhalf            gamma point only reduced in X direction

# avoidalloc          avoid ALLOCATE if possible

# IFC                 work around some IFC bugs

# CACHE_SIZE          1000 for PII,PIII, 5000 for Athlon, 8000-12000 P4

# RPROMU_DGEMV        use DGEMV instead of DGEMM in RPRO (depends on used BLAS)

# RACCMU_DGEMV        use DGEMV instead of DGEMM in RACC (depends on used BLAS)

# for Atlas  -DRPROMU_DGEMV is recommended

#-----------------------------------------------------------------------



CPP     = $(CPP_)  -DHOST=\"LinuxIFC_ath\" \

          -Dkind8 -DNGXhalf -DCACHE_SIZE=5000 -DPGF90 -Davoidalloc \

          -DRPROMU_DGEMV



#-----------------------------------------------------------------------

# general fortran flags  (there must a trailing blank on this line)

#-----------------------------------------------------------------------



FFLAGS =  -FR -lowercase -assume byterecl



#-----------------------------------------------------------------------

# optimization

# we have tested whether higher optimisation improves performance

# -axK  SSE1 optimization,  but also generate code executable on all mach.

#       xK improves performance somewhat on XP, and a is required in order

#       to run the code on older Athlons as well

# -xW   SSE2 optimization

# -axW  SSE2 optimization,  but also generate code executable on all mach.

# -tpp6 P3 optimization

# -tpp7 P4 optimization

#-----------------------------------------------------------------------



OFLAG=-O3 -axK -tpp6



OFLAG_HIGH = $(OFLAG)

OBJ_HIGH =



OBJ_NOOPT =

DEBUG  = -FR -O0

INLINE = $(OFLAG)





#-----------------------------------------------------------------------

# the following lines specify the position of BLAS  and LAPACK

# on Athlon, VASP works fastest with the Atlas library

# so that's what I recommend

#-----------------------------------------------------------------------



# Atlas based libraries

ATLASHOME= $(HOME)/archives/BLAS_OPT/ATLAS/lib/Linux_ATHLONXP_SSE1/

BLAS=   -L$(ATLASHOME)  -lf77blas -latlas



# use the mkl Intel libraries for p4 (www.intel.com)

# mkl.5.1

# set -DRPROMU_DGEMV  -DRACCMU_DGEMV in the CPP lines

#BLAS=-L/opt/intel/mkl/lib/32 -lmkl_p4  -lpthread



# mkl.5.2 requires also to -lguide library

# set -DRPROMU_DGEMV  -DRACCMU_DGEMV in the CPP lines

#BLAS=-L/opt/intel/mkl/lib/32 -lmkl_p4 -lguide -lpthread



# even faster Kazushige Goto's BLAS

# http://www.cs.utexas.edu/users/kgoto/signup_first.html

#BLAS=  /opt/libs/libgoto/libgoto_p4_512-r0.6.so



# LAPACK, simplest use vasp.4.lib/lapack_double

#LAPACK= ../vasp.4.lib/lapack_double.o



# use atlas optimized part of lapack

LAPACK= ../vasp.4.lib/lapack_atlas.o -llapack -lcblas



# use the mkl Intel lapack

#LAPACK= -lmkl_lapack



#-----------------------------------------------------------------------



LIB  = -L../vasp.4.lib -ldmy \

     ../vasp.4.lib/linpack_double.o $(LAPACK) \

     $(BLAS)



# options for linking (for compiler version 6.X, 7.1) nothing is required

LINK    =

# compiler version 7.0 generates some vector statments which are located

# in the svml library, add the LIBPATH and the library (just in case)

#LINK    =  -L/opt/intel/compiler70/ia32/lib/ -lsvml



#-----------------------------------------------------------------------

# fft libraries:

# VASP.4.6 can use fftw.3.0.X (http://www.fftw.org)

# since this version is faster on P4 machines, we recommend to use it

#-----------------------------------------------------------------------



FFT3D   = fft3dfurth.o fft3dlib.o

#FFT3D   = fftw3d.o fft3dlib.o   /opt/libs/fftw-3.0.1/lib/libfftw3.a





#=======================================================================

# MPI section, uncomment the following lines

#

# one comment for users of mpich or lam:

# You must *not* compile mpi with g77/f77, because f77/g77            

# appends *two* underscores to symbols that contain already an        

# underscore (i.e. MPI_SEND becomes mpi_send__).  The pgf90/ifc

# compilers however append only one underscore.

# Precompiled mpi version will also not work !!!

#

# We found that mpich.1.2.1 and lam-6.5.X to lam-7.0.4 are stable

# mpich.1.2.1 was configured with

#  ./configure -prefix=/usr/local/mpich_nodvdbg -fc="pgf77 -Mx,119,0x200000"  \

# -f90="pgf90 -Mx,119,0x200000" \

# --without-romio --without-mpe -opt=-O \

#

# lam was configured with the line

#  ./configure  -prefix /opt/libs/lam-7.0.4 --with-cflags=-O -with-fc=ifc \

# --with-f77flags=-O --without-romio

#

# please note that you might be able to use a lam or mpich version

# compiled with f77/g77, but then you need to add the following

# options: -Msecond_underscore (compilation) and -g77libs (linking)

#

# !!! Please do not send me any queries on how to install MPI, I will

# certainly not answer them !!!!

#=======================================================================

#-----------------------------------------------------------------------

# fortran linker for mpi: if you use LAM and compiled it with the options

# suggested above,  you can use the following line

#-----------------------------------------------------------------------



#FC=mpif77
                 改成                   FC=mpif90  
#FCL=$(FC)                改成                  
FCL=$(FC)   
      



#-----------------------------------------------------------------------

# additional options for CPP in parallel version (see also above):

# NGZhalf               charge density   reduced in Z direction

# wNGZhalf              gamma point only reduced in Z direction

# scaLAPACK             use scaLAPACK (usually slower on 100 Mbit Net)

# 1000 or 2000 are the optimal CACHE_SIZE for the parallel version

# and IFC on Athlon XP (gK)

#-----------------------------------------------------------------------



#CPP    = $(CPP_) -DMPI  -DHOST=\"LinuxIFC_ath\" -DIFC \

#     -Dkind8 -DNGZhalf -DCACHE_SIZE=2000 -DPGF90 -Davoidalloc \

#     -DRPROMU_DGEMV

改成
CPP    = $(CPP_) -DMPI  -DHOST=\"LinuxIFC_ath\" -DIFC \

     -Dkind8 -DNGZhalf -DCACHE_SIZE=2000 -DPGF90 -Davoidalloc \

     -DRPROMU_DGEMV



#-----------------------------------------------------------------------

# location of SCALAPACK

# if you do not use SCALAPACK simply uncomment the line SCA

#-----------------------------------------------------------------------



BLACS=$(HOME)/archives/SCALAPACK/BLACS/

SCA_=$(HOME)/archives/SCALAPACK/SCALAPACK



SCA= $(SCA_)/libscalapack.a  \

$(BLACS)/LIB/blacsF77init_MPI-LINUX-0.a $(BLACS)/LIB/blacs_MPI-LINUX-0.a $(BLACS)/LIB/blacsF77init_MPI-LINUX-0.a



SCA=



#-----------------------------------------------------------------------

# libraries for mpi

#-----------------------------------------------------------------------



#LIB     = -L../vasp.4.lib -ldmy  \

#      ../vasp.4.lib/linpack_double.o $(LAPACK) \

#      $(SCA) $(BLAS)

改成
LIB     = -L../vasp.4.lib -ldmy  \

      ../vasp.4.lib/linpack_double.o $(LAPACK) \

     $(SCA) $(BLAS)



# FFT: fftmpi.o with fft3dlib of Juergen Furthmueller

#FFT3D   = fftmpi.o fftmpi_map.o fft3dlib.o



# fftw.3.0.1 is slighly faster and should be used if available

#FFT3D   = fftmpiw.o fftmpi_map.o fft3dlib.o   /opt/libs/fftw-3.0.1/lib/libfftw3.a



#-----------------------------------------------------------------------

# general rules and compile lines

#-----------------------------------------------------------------------

BASIC=   symmetry.o symlib.o   lattlib.o  random.o   



SOURCE=  base.o     mpi.o      smart_allocate.o      xml.o  \

         constant.o jacobi.o   main_mpi.o  scala.o   \

         asa.o      lattice.o  poscar.o   ini.o      setex.o     radial.o  \

         pseudo.o   mgrid.o    mkpoints.o wave.o      wave_mpi.o  $(BASIC) \

         nonl.o     nonlr.o    dfast.o    choleski2.o    \

         mix.o      charge.o   xcgrad.o   xcspin.o    potex1.o   potex2.o  \

         metagga.o  constrmag.o pot.o      cl_shift.o force.o    dos.o      elf.o      \

         tet.o      hamil.o    steep.o    \

         chain.o    dyna.o     relativistic.o LDApU.o sphpro.o  paw.o   us.o \

         ebs.o      wavpre.o   wavpre_noio.o broyden.o \

         dynbr.o    rmm-diis.o reader.o   writer.o   tutor.o xml_writer.o \

         brent.o    stufak.o   fileio.o   opergrid.o stepver.o  \

         dipol.o    xclib.o    chgloc.o   subrot.o   optreal.o   davidson.o \

         edtest.o   electron.o shm.o      pardens.o  paircorrection.o \

         optics.o   constr_cell_relax.o   stm.o    finite_diff.o \

         elpol.o    setlocalpp.o



INC=



vasp: $(SOURCE) $(FFT3D) $(INC) main.o

        rm -f vasp

        $(FCL) -o vasp $(LINK) main.o  $(SOURCE)   $(FFT3D) $(LIB)

makeparam: $(SOURCE) $(FFT3D) makeparam.o main.F $(INC)

        $(FCL) -o makeparam  $(LINK) makeparam.o $(SOURCE) $(FFT3D) $(LIB)

zgemmtest: zgemmtest.o base.o random.o $(INC)

        $(FCL) -o zgemmtest $(LINK) zgemmtest.o random.o base.o $(LIB)

dgemmtest: dgemmtest.o base.o random.o $(INC)

        $(FCL) -o dgemmtest $(LINK) dgemmtest.o random.o base.o $(LIB)

ffttest: base.o smart_allocate.o mpi.o mgrid.o random.o ffttest.o $(FFT3D) $(INC)

        $(FCL) -o ffttest $(LINK) ffttest.o mpi.o mgrid.o random.o smart_allocate.o base.o $(FFT3D) $(LIB)

kpoints: $(SOURCE) $(FFT3D) makekpoints.o main.F $(INC)

        $(FCL) -o kpoints $(LINK) makekpoints.o $(SOURCE) $(FFT3D) $(LIB)



clean:       

        -rm -f *.g *.f *.o *.L *.mod ; touch *.F



main.o: main$(SUFFIX)

        $(FC) $(FFLAGS)$(DEBUG)  $(INCS) -c main$(SUFFIX)

xcgrad.o: xcgrad$(SUFFIX)

        $(FC) $(FFLAGS) $(INLINE)  $(INCS) -c xcgrad$(SUFFIX)

xcspin.o: xcspin$(SUFFIX)

        $(FC) $(FFLAGS) $(INLINE)  $(INCS) -c xcspin$(SUFFIX)



makeparam.o: makeparam$(SUFFIX)

        $(FC) $(FFLAGS)$(DEBUG)  $(INCS) -c makeparam$(SUFFIX)



makeparam$(SUFFIX): makeparam.F main.F

#

# MIND: I do not have a full dependency list for the include

# and MODULES: here are only the minimal basic dependencies

# if one strucuture is changed then touch_dep must be called

# with the corresponding name of the structure

#

base.o: base.inc base.F

mgrid.o: mgrid.inc mgrid.F

constant.o: constant.inc constant.F

lattice.o: lattice.inc lattice.F

setex.o: setexm.inc setex.F

pseudo.o: pseudo.inc pseudo.F

poscar.o: poscar.inc poscar.F

mkpoints.o: mkpoints.inc mkpoints.F

wave.o: wave.inc wave.F

nonl.o: nonl.inc nonl.F

nonlr.o: nonlr.inc nonlr.F



$(OBJ_HIGH):

        $(CPP)

        $(FC) $(FFLAGS) $(OFLAG_HIGH) $(INCS) -c $*$(SUFFIX)

$(OBJ_NOOPT):

        $(CPP)

        $(FC) $(FFLAGS) $(INCS) -c $*$(SUFFIX)



fft3dlib_f77.o: fft3dlib_f77.F

        $(CPP)

        $(F77) $(FFLAGS_F77) -c $*$(SUFFIX)



.F.o:

        $(CPP)

        $(FC) $(FFLAGS) $(OFLAG) $(INCS) -c $*$(SUFFIX)

.F$(SUFFIX):

        $(CPP)

$(SUFFIX).o:

        $(FC) $(FFLAGS) $(OFLAG) $(INCS) -c $*$(SUFFIX)



# special rules

#-----------------------------------------------------------------------

# -tpp5|6|7 P, PII-PIII, PIV

# -xW use SIMD (does not pay of on PII, since fft3d uses double prec)

# all other options do no affect the code performance since -O1 is used

#-----------------------------------------------------------------------



fft3dlib.o : fft3dlib.F

        $(CPP)

        $(FC) -FR -lowercase -e95 -vec_report3 -O1 -tpp6 -prefetch -unroll0 -c $*$(SUFFIX)

        $(CPP)

        $(FC) -FR -lowercase -e95 -c $*$(SUFFIX)



lattlib.o: lattlib.F

        $(CPP)

        $(FC) -FR -lowercase -e95 -c $*$(SUFFIX)



radial.o : radial.F

        $(CPP)

        $(FC) -FR -lowercase -O1 -c $*$(SUFFIX)



symlib.o : symlib.F

        $(CPP)

        $(FC) -FR -lowercase -O1 -c $*$(SUFFIX)



symmetry.o : symmetry.F

        $(CPP)

        $(FC) -FR -lowercase -O1 -c $*$(SUFFIX)



dynbr.o : dynbr.F

        $(CPP)

        $(FC) -FR -lowercase -O1 -c $*$(SUFFIX)



us.o : us.F

        $(CPP)

        $(FC) -FR -lowercase -O1 -c $*$(SUFFIX)



broyden.o : broyden.F

        $(CPP)

        $(FC) -FR -lowercase -O2 -c $*$(SUFFIX)



wave.o : wave.F

        $(CPP)

        $(FC) -FR -lowercase -O0 -c $*$(SUFFIX)



LDApU.o : LDApU.F

        $(CPP)

        $(FC) -FR -lowercase -O2 -c $*$(SUFFIX)



问题所在;
vasp.4.lib 应该是编译过去了,但在编译vasp.4.6时,改了一些makefile的基本问题,
可是就是编译不过去,不知道有哪为最近成功安装过vasp程序能否指点一下。先谢谢了!
追求真理
13楼2012-01-07 00:05:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

iamikaruk

木虫 (著名写手)


liliangfang(金币+1): 鼓励交流 2012-01-07 07:59:25
太长了,楼主贴出diff结果和错误就可以了
[img]http://osu.ppy.sh/stat2/iamikaruk-0.png[/img]
14楼2012-01-07 00:32:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

liliangfang

荣誉版主 (著名写手)

【答案】应助回帖


感谢参与,应助指数 +1
WDD880227(金币+1): 感谢提示~~ 2012-01-07 08:56:37
bjmaowei25: 回帖置顶 2012-01-07 13:33:53
FC=ifort
OFLAG=-O3
15楼2012-01-07 08:06:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bjmaowei25

铜虫 (小有名气)

引用回帖:
: Originally posted by liliangfang at 2012-01-07 08:06:16:
FC=ifort
OFLAG=-O3

谢谢你的回复,根据你的意识改后,就变成这样的错误了:


[mao@localhost vasp.4.6]$ gedit makefile
[mao@localhost vasp.4.6]$ make
./preprocess lattlib.f90 -DMPI  -DHOST=\"LinuxIFC_ath\" -DIFC -Dkind8 -DNGZhalf -DCACHE_SIZE=2000 -DPGF90 -Davoidalloc -DRPROMU_DGEMV
mpif90 -FR -lowercase -e95 -c lattlib.f90
ifort: command line remark #10010: option '-lowercase' is deprecated and will be removed in a future release. See '-help deprecated'
lattlib.f90(196): error #7342: The computed GOTO statement is an obsolescent feature in Fortran 95.
      GOTO (2,4,6,8,10,12,14,16,18,20,22,24,26,28,30) IBRAV
------^
lattlib.f90(711): error #5113: Extension to FORTRAN-90: tab formatting
               CELLDM(5)=(A3XA2*ABS2*ABS3+A3XA1*ABS1*ABS3)/ABS2P1/ABS3       
---------------------------------------------------------------------^
lattlib.f90(1372): error #6033: Sharing of a DO termination statement by more than one DO statement is an obsolescent feature in Fortran 95.  Use an END DO or CONTINUE statement for each DO statement.   [300]
  300 CONTINUE
--^
lattlib.f90(1790): error #6028: DO termination on a statement other than an END DO or CONTINUE is an obsolescent feature in Fortran 95.
    1 WRK(IA,I)=TAU(INDEX(IA),I)
----^
lattlib.f90(1790): error #6033: Sharing of a DO termination statement by more than one DO statement is an obsolescent feature in Fortran 95.  Use an END DO or CONTINUE statement for each DO statement.   [1]
    1 WRK(IA,I)=TAU(INDEX(IA),I)
----^
lattlib.f90(1793): error #6028: DO termination on a statement other than an END DO or CONTINUE is an obsolescent feature in Fortran 95.
    2 TAU(IA,I)=WRK(IA,I)
----^
lattlib.f90(1793): error #6033: Sharing of a DO termination statement by more than one DO statement is an obsolescent feature in Fortran 95.  Use an END DO or CONTINUE statement for each DO statement.   [2]
    2 TAU(IA,I)=WRK(IA,I)
----^
lattlib.f90(1822): error #6028: DO termination on a statement other than an END DO or CONTINUE is an obsolescent feature in Fortran 95.
    4    INDEX(NBEG+I)=INDEX(NBEG+I)+NBEG-1
----^
lattlib.f90(1832): error #6028: DO termination on a statement other than an END DO or CONTINUE is an obsolescent feature in Fortran 95.
    7       TAU(INDEX(ICURR),K)=TEMP
----^
lattlib.f90(1865): error #6028: DO termination on a statement other than an END DO or CONTINUE is an obsolescent feature in Fortran 95.
    9          INDEX(IBEG+I)=INDEX(IBEG+I)+IBEG-1
----^
lattlib.f90(1881): error #6028: DO termination on a statement other than an END DO or CONTINUE is an obsolescent feature in Fortran 95.
   13       TAU(INDEX(ICURR),K)=TEMP
---^
lattlib.f90(1899): error #6028: DO termination on a statement other than an END DO or CONTINUE is an obsolescent feature in Fortran 95.
   15 INDEX(IA)=NINT(WRK(IA,3))
---^
lattlib.f90(2424): error #6033: Sharing of a DO termination statement by more than one DO statement is an obsolescent feature in Fortran 95.  Use an END DO or CONTINUE statement for each DO statement.   [13]
   13 CONTINUE
---^
compilation aborted for lattlib.f90 (code 1)
make: *** [lattlib.o] Error 1
追求真理
16楼2012-01-07 13:33:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

burwoad

银虫 (小有名气)

引用回帖:
2楼: Originally posted by souledge at 2012-01-02 22:07:08:
去掉Fortran Flags中的-assume,-tpp7等参数试试~
顺便,gfortran编译VASP可行么……一直自己编译和看别人编译都用的是ifort或者其他的编译器~

4.6.28 的试过用gfortran+(mpich2/openmpi)+(blas/gotoblas2) 和编译,可行的。
但是最近试了下 5.2.2 ,编译没问题,但是运行时会有 double free or corruption 这类错误。
17楼2012-02-22 23:25:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cuicui2397

新虫 (小有名气)

【答案】应助回帖

引用回帖:
8楼: Originally posted by huangye2001 at 2012-01-03 10:49:32
楼主您好!我也非常想学vasp,你能把该软件传给我么,谢谢!我的邮箱是huangye2001@163.com,如果您安成功了,麻烦告诉一下安装方法,不胜感谢

同求啊!谢谢!我邮箱1020189550@qq.com
18楼2013-09-11 10:02:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 bjmaowei25 的主题更新
信息提示
请填处理意见