VASP5.3 with PGÄ°

I’m trying to compile VASP with pgi but i have this error, how can i fix this pls help me, i have only 1 week

here is the error

pgf90 -Mfree -Mx,119,0x200000 -g -O0 -c main.f
PGF90-S-0450-Argument number 1 to start_xml: kind mismatch (main.f: 376)
PGF90-S-0450-Argument number 3 to rd_poscar_head: kind mismatch (main.f: 424)
PGF90-S-0450-Argument number 4 to rd_poscar_head: kind mismatch (main.f: 424)
PGF90-S-0450-Argument number 5 to rd_poscar_head: kind mismatch (main.f: 424)
PGF90-S-0450-Argument number 6 to rd_poscar_head: kind mismatch (main.f: 424)
PGF90-S-0450-Argument number 3 to rd_pseudo: kind mismatch (main.f: 447)
PGF90-S-0450-Argument number 4 to rd_pseudo: kind mismatch (main.f: 447)
PGF90-S-0450-Argument number 5 to rd_pseudo: kind mismatch (main.f: 447)
PGF90-S-0450-Argument number 6 to rd_pseudo: kind mismatch (main.f: 447)
PGF90-S-0450-Argument number 7 to rd_pseudo: kind mismatch (main.f: 447)
PGF90-S-0450-Argument number 14 to rd_pseudo: kind mismatch (main.f: 447)
PGF90-S-0450-Argument number 15 to rd_pseudo: kind mismatch (main.f: 447)
PGF90-S-0450-Argument number 3 to reader_add_on: kind mismatch (main.f: 529)
PGF90-S-0450-Argument number 4 to reader_add_on: kind mismatch (main.f: 529)
PGF90-S-0450-Argument number 5 to reader_add_on: kind mismatch (main.f: 529)
PGF90-S-0450-Argument number 2 to dealloc_pp: kind mismatch (main.f: 577)
PGF90-S-0450-Argument number 3 to rd_pseudo: kind mismatch (main.f: 582)
PGF90-S-0450-Argument number 4 to rd_pseudo: kind mismatch (main.f: 582)
PGF90-S-0450-Argument number 5 to rd_pseudo: kind mismatch (main.f: 582)
PGF90-S-0450-Argument number 6 to rd_pseudo: kind mismatch (main.f: 582)
PGF90-S-0450-Argument number 7 to rd_pseudo: kind mismatch (main.f: 582)
PGF90-S-0450-Argument number 15 to rd_pseudo: kind mismatch (main.f: 582)
PGF90-S-0450-Argument number 1 to cl_modify_pp: kind mismatch (main.f: 586)
PGF90-S-0450-Argument number 1 to post_pseudo: kind mismatch (main.f: 588)
PGF90-S-0450-Argument number 2 to post_pseudo: kind mismatch (main.f: 588)
PGF90-F-0008-Error limit exceeded (main.f: 588)
PGF90/x86-64 Linux 16.10-0: compilation aborted
make: *** [main.o] Error 2










and this is the makefile

SUFFIXES: .inc .f .f90 .F
#-----------------------------------------------------------------------

Makefile for Portland Group F90/HPF compiler release 3.0-1, 3.1

and release 1.7

(http://www.pgroup.com/ & ftp://ftp.pgroup.com/x86/, you need

to order the HPF/F90 suite)

we have found no noticable performance differences between

any of the releases, even Athlon or PIII optimisation does

not seem to improve performance

The makefile was tested only under Linux on Intel platforms

(Suse X,X)

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

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

Mind that some Linux distributions (Suse 6.1) have a bug in

libm causing small errors in the error-function (total energy

is therefore wrong by about 1meV/atom). The recommended

solution is to update libc.

Mind that some Linux distributions (Suse 6.1) have a bug in

libm causing small errors in the error-function (total energy

is therefore wrong by about 1meV/atom). The recommended

solution is to update libc.

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

for a list of optimized BLAS try

http://www.kachinatech.com/~hjjou/scilib/opt_blas.html

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.

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

all CPP processed fortran files have the extension .f

SUFFIX=.f

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

fortran compiler and linker

#-----------------------------------------------------------------------
FC=pgf90

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 6.X, maybe some Red Hat distributions:

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

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

possible options for CPP:

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 P4

RPROMU_DGEMV use DGEMV instead of DGEMM in RPRO (usually faster)

RACCMU_DGEMV use DGEMV instead of DGEMM in RACC (faster on P4)

**** definitely use -DRACCMU_DGEMV if you use the mkl library

#-----------------------------------------------------------------------
CPP = $(CPP_) -DHOST=“LinuxPgi”
-DNGXhalf -DCACHE_SIZE=2000 -DPGF90 -Davoidalloc
-DRPROMU_DGEMV

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

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

the -Mx,119,0x200000 is required if you use older pgf90 versions

on a more recent LINUX installation

the option will not do any harm on other 3.X pgf90 distributions

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

FFLAGS = -Mfree -Mx,119,0x200000

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

optimization,

we have tested whether higher optimisation improves

the performance, and found no improvements with -O3-5 or -fast

(even on Athlon system, Athlon specific optimistation worsens performance)

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

OFLAG = -O2 -tp k8-64 -i8

OFLAG_HIGH = $(OFLAG)
OBJ_HIGH =
OBJ_NOOPT =
DEBUG = -g -O0
INLINE = $(OFLAG)


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

the following lines specify the position of BLAS and LAPACK

what you chose is very system dependent

P4: VASP works fastest with Intels mkl performance library

Athlon: Atlas based BLAS are presently the fastest

P3: no clue

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

Atlas based libraries

ATLASHOME= $(HOME)/archives/BLAS_OPT/ATLAS/lib/Linux_ATHLONXP_SSE1/
BLAS= -L$(ATLASHOME) -lf77blas -latlas

use specific libraries (default library path points to other libraries)

#BLAS= $(ATLASHOME)/libf77blas.a $(ATLASHOME)/libatlas.a

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

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

LAPACK, simplest use vasp.5.lib/lapack_double

#LAPACK= …/vasp.5.lib/lapack_double.o

use atlas optimized part of lapack

LAPACK= …/vasp.5.lib/lapack_atlas.o -llapack -lcblas

use the mkl Intel lapack

#LAPACK= -lmkl_lapack


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

LIB = -L…/vasp.5.lib -ldmy
…/vasp.5.lib/linpack_double.o $(LAPACK)
$(BLAS)

options for linking (none required)

LINK =

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

fft libraries:

VASP.4.5 can use FFTW (http://www.fftw.org)

since the FFTW is very slow for radices 2^n the fft3dlib is used

in these cases

if you use fftw3d you need to insert -lfftw in the LIB line as well

please do not send us any querries reltated to FFTW (no support)

if it fails, use fft3dlib

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

FFT3D = fft3dfurth.o fft3dlib.o
#FFT3D = fftw3d+furth.o fft3dlib.o


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

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

compiler however appends only one underscore.

Precompiled mpi version will also not work !!!

We found that mpich.1.2.1 and lam-6.5.X 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 /usr/local/lam-6.5.X --with-cflags=-O -with-fc=pgf90 \

–with-f77flags=-O --without-romio

lam was generally faster and we found an average communication

band with of roughly 160 MBit/s (full duplex)

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 lines

#-----------------------------------------------------------------------
#FC=mpif77
#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)

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

#CPP = $(CPP_) -DMPI -DHOST=“LinuxPgi” \

-DNGZhalf -DCACHE_SIZE=2000 -DPGF90 -Davoidalloc -DRPROMU_DGEMV

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

location of SCALAPACK

if you do not use SCALAPACK simply uncomment the line SCA

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

BLACS=/usr/local/BLACS_lam
SCA_= /usr/local/SCALAPACK_lam

SCA= $(SCA_)/scalapack_LINUX.a $(SCA_)/pblas_LINUX.a $(SCA_)/tools_LINUX.a
SCA=

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

libraries for mpi

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

#LIB = -L…/vasp.5.lib -ldmy \

…/vasp.5.lib/linpack_double.o $(LAPACK) \

$(SCA) $(BLAS)

FFT: only option fftmpi.o with fft3dlib of Juergen Furthmueller

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

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

general rules and compile lines

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


SOURCE= base.o mpi.o smart_allocate.o xml.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 mgrid.o xclib.o vdw_nl.o xc$
radial.o pseudo.o gridq.o ebs.o
mkpoints.o wave.o wave_mpi.o wave_high.o spinsym.o
$(BASIC) nonl.o nonlr.o nonl_high.o dfast.o choleski2.o
mix.o hamil.o xcgrad.o xcspin.o potex1.o potex2.o
constrmag.o cl_shift.o relativistic.o LDApU.o
paw_base.o metagga.o egrad.o pawsym.o pawfock.o pawlhf.o rhfa$
mkpoints_full.o charge.o Lebedev-Laikov.o stockholder.o dipol$
dos.o elf.o tet.o tetweight.o hamil_rot.o
chain.o dyna.o k-proj.o sphpro.o us.o core_rel.o
aedens.o wavpre.o wavpre_noio.o broyden.o
dynbr.o hamil_high.o rmm-diis.o reader.o writer.o tutor.o xml_$
brent.o stufak.o fileio.o opergrid.o stepver.o
chgloc.o fast_aug.o fock_multipole.o fock.o mkpoints_change.o sym_$
mymath.o internals.o npt_dynamics.o dynconstr.o dimer_heyden.o dvv$
nmr.o pead.o subrot.o subrot_scf.o
force.o pwlhf.o gw_model.o optreal.o steep.o davidson.o dav$
electron.o rot.o electron_all.o shm.o pardens.o paircorrection.o
optics.o constr_cell_relax.o stm.o finite_diff.o elpol.o
hamil_lr.o rmm-diis_lr.o subrot_cluster.o subrot_lr.o
lr_helper.o hamil_lrf.o elinear_response.o ilinear_response.o
linear_optics.o
setlocalpp.o wannier.o electron_OEP.o electron_lhf.o twoelectron4o.o
mlwf.o ratpol.o screened_2e.o wave_cacher.o chi_base.o wpot.o
local_field.o ump2.o ump2kpar.o fcidump.o ump2no.o
bse_te.o bse.o acfdt.o chi.o sydmat.o dmft.o
rmm-diis_mlr.o linear_response_NMR.o wannier_interpol.o linear_respon$

vasp: $(SOURCE) $(FFT3D) $(INC) main.o
rm -f vasp
$(FCL) -o vasp main.o $(SOURCE) $(FFT3D) $(LIB) $(LINK)
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) $(IN$
$(FCL) -o ffttest $(LINK) ffttest.o mpi.o mgrid.o random.o smart_alloca$
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
mkpoints.o: mkpoints.inc mkpoints.F
wave.o: 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)

Wow, that is really an old Makefile!

The purpose of

-Mx,119,0x200000

is to create a really old object format, back when Linux was transitioning
its format.

Drop it. You may see other problems, but they can probably be fixed.

I don’t see how you can use that switch now.

dave

i made there like this:
FFLAGS = -Mfree

i mean i delete -Mx,119,0x200000 part, tried and i have this error

pgf90 -Mfree -g -O0 -c main.f
PGF90-S-0450-Argument number 1 to start_xml: kind mismatch (main.f: 376)
PGF90-S-0450-Argument number 3 to rd_poscar_head: kind mismatch (main.f: 424)
PGF90-S-0450-Argument number 4 to rd_poscar_head: kind mismatch (main.f: 424)
PGF90-S-0450-Argument number 5 to rd_poscar_head: kind mismatch (main.f: 424)
PGF90-S-0450-Argument number 6 to rd_poscar_head: kind mismatch (main.f: 424)
PGF90-S-0450-Argument number 3 to rd_pseudo: kind mismatch (main.f: 447)
PGF90-S-0450-Argument number 4 to rd_pseudo: kind mismatch (main.f: 447)
PGF90-S-0450-Argument number 5 to rd_pseudo: kind mismatch (main.f: 447)
PGF90-S-0450-Argument number 6 to rd_pseudo: kind mismatch (main.f: 447)
PGF90-S-0450-Argument number 7 to rd_pseudo: kind mismatch (main.f: 447)
PGF90-S-0450-Argument number 14 to rd_pseudo: kind mismatch (main.f: 447)
PGF90-S-0450-Argument number 15 to rd_pseudo: kind mismatch (main.f: 447)
PGF90-S-0450-Argument number 3 to reader_add_on: kind mismatch (main.f: 529)
PGF90-S-0450-Argument number 4 to reader_add_on: kind mismatch (main.f: 529)
PGF90-S-0450-Argument number 5 to reader_add_on: kind mismatch (main.f: 529)
PGF90-S-0450-Argument number 2 to dealloc_pp: kind mismatch (main.f: 577)
PGF90-S-0450-Argument number 3 to rd_pseudo: kind mismatch (main.f: 582)
PGF90-S-0450-Argument number 4 to rd_pseudo: kind mismatch (main.f: 582)
PGF90-S-0450-Argument number 5 to rd_pseudo: kind mismatch (main.f: 582)
PGF90-S-0450-Argument number 6 to rd_pseudo: kind mismatch (main.f: 582)
PGF90-S-0450-Argument number 7 to rd_pseudo: kind mismatch (main.f: 582)
PGF90-S-0450-Argument number 15 to rd_pseudo: kind mismatch (main.f: 582)
PGF90-S-0450-Argument number 1 to cl_modify_pp: kind mismatch (main.f: 586)
PGF90-S-0450-Argument number 1 to post_pseudo: kind mismatch (main.f: 588)
PGF90-S-0450-Argument number 2 to post_pseudo: kind mismatch (main.f: 588)
PGF90-F-0008-Error limit exceeded (main.f: 588)
PGF90/x86-64 Linux 16.10-0: compilation aborted
make: *** [main.o] Error 2






but when i try it with drop all row like #FFLAGS = -Mfree -Mx,119,0x200000 this time i have this error:

[root@localhost vasp.5.3]# make
pgf90 -g -O0 -c main.f
PGF90-S-0034-Syntax error at or near & (main.f: 339)
PGF90-S-0034-Syntax error at or near (main.f: 340)
PGF90-S-0026-Unmatched quote (main.f: 341)
PGF90-S-0034-Syntax error at or near (main.f: 342)
PGF90-S-0134-Illegal attribute - conflict with external (main.f: 346)
PGF90-S-0143-use_oep_in_gw requires initializer (main.f: 346)
PGF90-S-0034-Syntax error at or near & (main.f: 348)
PGF90-S-0034-Syntax error at or near & (main.f: 382)
PGF90-S-0026-Unmatched quote (main.f: 383)
PGF90-S-0034-Syntax error at or near & (main.f: 414)
PGF90-S-0034-Syntax error at or near & (main.f: 418)
PGF90-S-0034-Syntax error at or near identifier niond (main.f: 424)
PGF90-S-0023-Syntax error - unbalanced parentheses (main.f: 427)
PGF90-S-0034-Syntax error at or near , (main.f: 428)
PGF90-S-0034-Syntax error at or near identifier ntyp_pp (main.f: 447)
PGF90-S-0023-Syntax error - unbalanced parentheses (main.f: 457)
PGF90-S-0034-Syntax error at or near , (main.f: 458)
PGF90-S-0034-Syntax error at or near , (main.f: 459)
PGF90-S-0034-Syntax error at or near , (main.f: 460)
PGF90-S-0034-Syntax error at or near , (main.f: 461)
PGF90-S-0034-Syntax error at or near , (main.f: 462)
PGF90-S-0034-Syntax error at or near , (main.f: 463)
PGF90-S-0034-Syntax error at or near , (main.f: 464)
PGF90-S-0034-Syntax error at or near , (main.f: 465)
PGF90-S-0034-Syntax error at or near , (main.f: 466)
PGF90-F-0008-Error limit exceeded (main.f: 466)
PGF90/x86-64 Linux 16.10-0: compilation aborted
make: *** [main.o] Error 2



what do i have to do in this situation?
and so much thx for reply :)

-Mfree is a fortran format stmt. -Mfixed is for fortran 77 format, and
-Mfree is for the fortran 90 and forward.

-Mfree is necessary.

The ‘argument mismatch’ suggests you have an
interface record (perhaps in a modfile) that says

rd_poscar_head has a third argument that is, for example, real*4 x,

But in your call to rd_poscar_head, the third argument is real*8, causing the
error message.

This means you either have to change how the third argument is declared,
or you have to change the interface record to match reality.

So look at the source for rd_poscar_head() and determine what arguments
it expects, and what is actually passed.

dave

where is the rd_poscar_head i cant find it…

Perhaps it is a utility in a precompiled library.


Determine what sources you can find with associated error messages,
and look at them, or send them.

dave