fatal error....[radial.o] Error 1

Questions regarding the compilation of VASP on various platforms: hardware, compilers and libraries, etc.


Moderators: Global Moderator, Moderator

Post Reply
Message
Author
baolkvn

fatal error....[radial.o] Error 1

#1 Post by baolkvn » Wed May 28, 2008 8:38 am

Dear Vaspmaster and VASP users,

Please help me overcome this problem. Thank you very much in advance.

I had all CC,FC (10.1.015),MPI (10.0.1.014) in my ACER Laptop 4710 (Duo Core 2x2.0GHz, RAM 2x512MB) with Fedora 7.
I set up VASP following VASP's instruction and this page http://www.intel.com/support/performanc ... 028850.htm
I ran 'make' successfully in vasp.4.lib folder but not with vasp.4.6 folder. This is the error :
------------------------------
[root@localhost vasp.4.6]# make
(the same as below for all *.f90)
./preprocess <setex.F | /usr/bin/cpp -P -C -traditional >setex.f90 -DHOST=\"LinuxIFC\" -Dkind8 -DNGXhalf -DCACHE_SIZE=12000 -DPGF90 -Davoidalloc -DRPROMU_DGEMV -DRACCMU_DGEMV
mpif90 -L/opt/intel/mkl/10.0.1.014/include/fftw -O3 -xW -c setex.f90
gfortran: language W not recognized
gfortran: language W not recognized
gfortran: setex.f90: linker input file unused because linking not done
#(And finally)
./preprocess <radial.F | /usr/bin/cpp -P -C -traditional >radial.f90 -DHOST=\"LinuxIFC\" -Dkind8 -DNGXhalf -DCACHE_SIZE=12000 -DPGF90 -Davoidalloc -DRPROMU_DGEMV -DRACCMU_DGEMV
mpif90 -FR -lowercase -O1 -c radial.f90
In file radial.f90:48

USE prec
1
Fatal Error: Can't open module file 'prec.mod' for reading at (1): No such file or directory
make: *** [radial.o] Error 1
---------------------------------------

Here is my Makefile:
--------------------
.SUFFIXES: .inc .f .f90 .F
#-----------------------------------------------------------------------
# Makefile for Intel Fortran compiler for P4 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=/opt/intel/fc/10.1.015/bin/ifort
# 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)
#-----------------------------------------------------------------------

CPP = $(CPP_) -DHOST=\"LinuxIFC\" \
-Dkind8 -DNGXhalf -DCACHE_SIZE=12000 -DPGF90 -Davoidalloc \
-DRPROMU_DGEMV -DRACCMU_DGEMV

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

#FFLAGS = -FR -lowercase -assume byterecl
#Follow that above link
FFLAGS = -L/opt/intel/mkl/10.0.1.014/include/fftw

#-----------------------------------------------------------------------
# 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 -xW #-tpp7

OFLAG_HIGH = $(OFLAG)
OBJ_HIGH =

OBJ_NOOPT =
DEBUG = -FR -O0
INLINE = $(OFLAG)


#-----------------------------------------------------------------------
# the following lines specify the position of BLAS and LAPACK
# on P4, VASP works fastest with the libgoto library
# so that's what I recommend
#-----------------------------------------------------------------------

# Atlas based libraries
#ATLASHOME= $(HOME)/archives/BLAS_OPT/ATLAS/lib/Linux_P4SSE2/
#BLAS= -L$(ATLASHOME) -lf77blas -latlas

# use specific libraries (default library path might point to other libraries)
#BLAS= $(ATLASHOME)/libf77blas.a $(ATLASHOME)/libatlas.a

# 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

# mkl.10.0.1.014
# set -DRPROMU_DGEMV -DRACCMU_DGEMV in the CPP lines
BLAS=-L/opt/intel/mkl/10.0.1.014/lib/32 -libguide -libiomp5 -libmkl-lmkl_intel_thread -libmkl_lapack -libmkl_p4 -libmkl_vml_p4 -libmkl_blacs


# 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
LAPACK=-L/opt/intel/mkl/10.0.1.014/lib/32 -libguide -libiomp5 -libmkl-lmkl_intel_thread -libmkl_lapack -libmkl_p4 -libmkl_vml_p4 -libmkl_blacs
#-----------------------------------------------------------------------

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 /usr/local/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 " \
# --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=mpif90
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=\"LinuxIFC\" -DIFC \
-Dkind8 -DNGZhalf -DCACHE_SIZE=4000 -DPGF90 -Davoidalloc \
-DMPI_BLOCK=500 \
-DRPROMU_DGEMV -DRACCMU_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=/opt/intel/mkl/10.0.1.014/lib/32/libmkl_scalapack.a

#-----------------------------------------------------------------------
# libraries for mpi
#-----------------------------------------------------------------------

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/intel/mkl/10.0.1.014/lib/32/libfftw3xf_intel.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 aedens.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
#
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
#-----------------------------------------------------------------------
#-----------------------------------------------------------------------

fft3dlib.o : fft3dlib.F
$(CPP)
$(FC) -FR -lowercase -O1 -tpp7 -xW -prefetch- -unroll0 -e95 -vec_report3 -c $*$(SUFFIX)
fft3dfurth.o : fft3dfurth.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)

broyden.o : broyden.F
$(CPP)
$(FC) -FR -lowercase -O2 -c $*$(SUFFIX)

us.o : us.F
$(CPP)
$(FC) -FR -lowercase -O1 -c $*$(SUFFIX)

wave.o : wave.F
$(CPP)
$(FC) -FR -lowercase -O0 -c $*$(SUFFIX)

LDApU.o : LDApU.F
$(CPP)
$(FC) -FR -lowercase -O2 -c $*$(SUFFIX)

radial.o : radial.F
$(CPP)
$(FC) -FR -lowercase -O1 -c $*$(SUFFIX)
-------------------

I need your helps and promise mysefl to repay for your favors in the near future.

Thanks,
Ta Quoc Bao
<span class='smallblacktext'>[ Edited ]</span>
Last edited by baolkvn on Wed May 28, 2008 8:38 am, edited 1 time in total.

admin
Administrator
Administrator
Posts: 2921
Joined: Tue Aug 03, 2004 8:18 am
License Nr.: 458

fatal error....[radial.o] Error 1

#2 Post by admin » Wed May 28, 2008 5:08 pm

as the problems only arise for the .f90 files: please make sure that the compiler you use is a fortran 90 or 95 compiler (it seems that mpif90 uses gfortran for the compilation). That would also explain that the vasp.4.lib could be compiled.
Last edited by admin on Wed May 28, 2008 5:08 pm, edited 1 time in total.

baolkvn

fatal error....[radial.o] Error 1

#3 Post by baolkvn » Wed May 28, 2008 8:25 pm

Wow, you are right, my mpif90 use gfortran as compiler. How do we set mpif90 to use Fortran 90/95.
Many thanks,
TA Quoc Bao
Last edited by baolkvn on Wed May 28, 2008 8:25 pm, edited 1 time in total.

baolkvn

fatal error....[radial.o] Error 1

#4 Post by baolkvn » Thu May 29, 2008 7:02 am

Now I use mpiifort instead of mpif90. mpiifort's underlying compiler is Fortran 90. This error appears when running 'make':
-------------------
(the same as below for all *.f90 files)
./preprocess <fft3dlib.F | /usr/bin/cpp -P -C -traditional >fft3dlib.f90 -DMPI -DHOST=\"LinuxIFC\" -DIFC -Dkind8 -DNGZhalf -DCACHE_SIZE=4000 -DPGF90 -Davoidalloc -DMPI_BLOCK=500 -DRPROMU_DGEMV -DRACCMU_DGEMV
mpiifort -FR -lowercase -O1 -tpp7 -xW -prefetch- -unroll0 -e95 -vec_report3 -c fft3dlib.f90
ifort: command line remark #10148: option '-tp' not supported
#(And finally)
fortcom: Error: fft3dlib.f90, line 1627: 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. [20]
20 CONTINUE
---^
fortcom: Error: fft3dlib.f90, line 1704: The computed GOTO statement is an obsolescent feature in Fortran 95.
GOTO (10,50,90,130,170,210,250),IGO
------^
fortcom: Error: fft3dlib.f90, line 2625: The computed GOTO statement is an obsolescent feature in Fortran 95.
GOTO (10,50,90,130,170,210,250),IGO
------^
fortcom: Error: fft3dlib.f90, line 3531: The computed GOTO statement is an obsolescent feature in Fortran 95.
GOTO (10,50,90,130,170,210,250),IGO
------^
fortcom: Error: fft3dlib.f90, line 4064: The computed GOTO statement is an obsolescent feature in Fortran 95.
GOTO (1010,1050,1090,1130,1170,1210,1250),IGO
------^
compilation aborted for fft3dlib.f90 (code 1)
make: *** [fft3dlib.o] Error 1
--------------------------------

Please help me.

Thanks,
T.Q.Bao
Last edited by baolkvn on Thu May 29, 2008 7:02 am, edited 1 time in total.

admin
Administrator
Administrator
Posts: 2921
Joined: Tue Aug 03, 2004 8:18 am
License Nr.: 458

fatal error....[radial.o] Error 1

#5 Post by admin » Thu May 29, 2008 10:00 am

dear colleague, these statements are standard fortran 77. Unfortunately, they are not supported by the latest releases of the Intel fortran compiler. In the latest vasp-release, these statements have been replaced by the equivalent fortran90 -ones. Please have a look at the email I just sent to you.
Last edited by admin on Thu May 29, 2008 10:00 am, edited 1 time in total.

baolkvn

fatal error....[radial.o] Error 1

#6 Post by baolkvn » Thu May 29, 2008 6:11 pm

Dear admin and VASP-ers,
I used new fft3dlib.F, the problem was solved, but this new error occurred. Please help:
-----------------
(all ./preprocessor are okay)
(Next:)
rm -f vasp
mpiifort -o vasp main.o 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 symmetry.o symlib.o lattlib.o random.o 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 aedens.o fftmpiw.o fftmpi_map.o fft3dlib.o /opt/intel/mkl/10.0.1.014/lib/32/libfftw3xf_intel.a -L../vasp.4.lib -ldmy ../vasp.4.lib/linpack_double.o -L/opt/intel/mkl/10.0.1.014/lib/32 -libguide -libiomp5 -libmkl-lmkl_intel_thread -libmkl_lapack -libmkl_p4 -libmkl_vml_p4 -libmkl_blacs /opt/intel/mkl/10.0.1.014/lib/32/libmkl_scalapack.a -L/opt/intel/mkl/10.0.1.014/lib/32 -libguide -libiomp5 -libmkl-lmkl_intel_thread -libmkl_lapack -libmkl_p4 -libmkl_vml_p4 -libmkl_blacs
mpi.o: In function `m_sumb_d_':
mpi.f90:(.text+0xb3): undefined reference to `dcopy_'
mpi.o: In function `m_sum_d_':
mpi.f90:(.text+0x289): undefined reference to `dcopy_'
mpi.o: In function `m_sumf_d_.':
mpi.f90:(.text+0x61c): undefined reference to `daxpy_'
mpi.f90:(.text+0x83f): undefined reference to `dcopy_'
mpi.f90:(.text+0x946): undefined reference to `dcopy_'
mpi.o: In function `m_alltoall_d_.':
mpi.f90:(.text+0xd88): undefined reference to `dcopy_'
mpi.o: In function `m_sum_z_':
mpi.f90:(.text+0x1063): undefined reference to `dcopy_'
mpi.o: In function `m_alltoallv_z_':
mpi.f90:(.text+0x1e01): undefined reference to `zcopy_'
mpi.o: In function `m_sumb_z_':
mpi.f90:(.text+0x2684): undefined reference to `zcopy_'
mpi.o: In function `m_sum_s_':
mpi.f90:(.text+0x291a): undefined reference to `dcopy_'
mpi.o: In function `m_max_d_':
mpi.f90:(.text+0x2bdd): undefined reference to `dcopy_'
lattice.o: In function `lattice_mp_toprim_':
lattice.f90:(.text+0x42f): undefined reference to `__svml_trunc2'
lattice.f90:(.text+0x46e): undefined reference to `__svml_trunc2'
lattice.f90:(.text+0x4ae): undefined reference to `__svml_trunc2'
radial.o: In function `radial_mp_aug_setq_':
radial.f90:(.text+0xc24e): undefined reference to `dgetrf_'
radial.f90:(.text+0xc284): undefined reference to `dgetrs_'
wave_mpi.o: In function `redis_pw_':
wave_mpi.f90:(.text+0x641): undefined reference to `zcopy_'
wave_mpi.o: In function `redis_pw_all_':
wave_mpi.f90:(.text+0x953): undefined reference to `zcopy_'
lattlib.o: In function `pricel_':
lattlib.f90:(.text+0xf3f): undefined reference to `__svml_trunc2'
lattlib.f90:(.text+0xf78): undefined reference to `__svml_trunc2'
lattlib.f90:(.text+0xfb1): undefined reference to `__svml_trunc2'
nonl.o: In function `nonl_mp_proj1_.':
nonl.f90:(.text+0x139e): undefined reference to `dgemv_'
nonl.f90:(.text+0x1450): undefined reference to `dgemv_'
nonl.o: In function `nonl_mp_vnlac0_.':
nonl.f90:(.text+0x56ad): undefined reference to `dgemv_'
nonl.f90:(.text+0x575f): undefined reference to `dgemv_'
nonlr.o: In function `nonlr_mp_rpro1_.':
nonlr.f90:(.text+0x435a): undefined reference to `dgemv_'
nonlr.o:nonlr.f90:(.text+0x43b3): more undefined references to `dgemv_' follow
dfast.o: In function `orth2_':
dfast.f90:(.text+0xd6): undefined reference to `zgemm_'
dfast.f90:(.text+0x156): undefined reference to `zgemm_'
dfast.f90:(.text+0x209): undefined reference to `zgemm_'
dfast.f90:(.text+0x289): undefined reference to `zgemm_'
dfast.o: In function `orth1_old_':
dfast.f90:(.text+0x3e3): undefined reference to `zgemm_'
dfast.o:dfast.f90:(.text+0x4db): more undefined references to `zgemm_' follow
dfast.o: In function `linbas_.':
dfast.f90:(.text+0x1a8b): undefined reference to `ztrmm_'
dfast.f90:(.text+0x1bbb): undefined reference to `zgemm_'
dfast.f90:(.text+0x1cf9): undefined reference to `zgemm_'
dfast.o: In function `dfast_mp_orsp_':
dfast.f90:(.text+0x1e38): undefined reference to `zdotc_'
dfast.f90:(.text+0x1e64): undefined reference to `zdscal_'
dfast.f90:(.text+0x1ebe): undefined reference to `zgemv_'
dfast.f90:(.text+0x1f36): undefined reference to `zgemm_'
dfast.o: In function `dfast_mp_projcn_':
dfast.f90:(.text+0x1fc4): undefined reference to `zdotc_'
dfast.f90:(.text+0x243a): undefined reference to `zaxpy_'
dfast.f90:(.text+0x249f): undefined reference to `zaxpy_'
dfast.o: In function `dfast_mp_cnorma_':
dfast.f90:(.text+0x2540): undefined reference to `zdotc_'
dfast.o: In function `dfast_mp_cnormn_':
dfast.f90:(.text+0x29da): undefined reference to `zdotc_'
dfast.f90:(.text+0x2e16): undefined reference to `zdscal_'
dfast.f90:(.text+0x2e40): undefined reference to `zdscal_'
dfast.o: In function `dfast_mp_orthon_':
dfast.f90:(.text+0x3644): undefined reference to `zgemv_'
dfast.f90:(.text+0x3723): undefined reference to `zgemv_'
dfast.f90:(.text+0x3814): undefined reference to `zgemm_'
dfast.f90:(.text+0x38f2): undefined reference to `zgemm_'
choleski2.o: In function `choleski_mp_orthch_':
choleski2.f90:(.text+0xf78): undefined reference to `zpotrf_'
choleski2.f90:(.text+0xfe1): undefined reference to `ztrtri_'
elf.o: In function `elfcal_.':
elf.f90:(.text+0x2941): undefined reference to `__svml_pow2'
elf.f90:(.text+0x2a8c): undefined reference to `__svml_pow2_mask'
elf.f90:(.text+0x2bc8): undefined reference to `__svml_pow2'
chain.o: In function `chain_mp_chain_force_':
chain.f90:(.text+0x635): undefined reference to `__svml_trunc2'
chain.f90:(.text+0x7cd): undefined reference to `__svml_trunc2'
chain.f90:(.text+0xa43): undefined reference to `__svml_trunc2'
chain.f90:(.text+0xaa2): undefined reference to `__svml_trunc2'
dyna.o: In function `symvel_.':
dyna.f90:(.text+0x46b5): undefined reference to `__svml_trunc2'
LDApU.o: In function `ldaplusu_module_mp_ldaplusu_printocc_':
LDApU.f90:(.text+0x386c): undefined reference to `zheev_'
wavpre.o: In function `mwavpre_mp_wavpre_':
wavpre.f90:(.text+0x1107): undefined reference to `__svml_trunc2'
wavpre.f90:(.text+0x11c3): undefined reference to `__svml_trunc2'
wavpre.f90:(.text+0x1280): undefined reference to `__svml_trunc2'
wavpre.f90:(.text+0x1ed9): undefined reference to `zgemm_'
wavpre.f90:(.text+0x20eb): undefined reference to `zheev_'
wavpre.f90:(.text+0x22e8): undefined reference to `zgemm_'
wavpre.f90:(.text+0x23d6): undefined reference to `zgemm_'
wavpre.f90:(.text+0x2a1e): undefined reference to `zdotc_'
wavpre.f90:(.text+0x2a56): undefined reference to `zdotc_'
wavpre.f90:(.text+0x775c): undefined reference to `zdotc_'
wavpre.f90:(.text+0x77b0): undefined reference to `zdotc_'
wavpre_noio.o: In function `mwavpre_noio_mp_wavpre_noio_':
wavpre_noio.f90:(.text+0x2e72): undefined reference to `__svml_trunc2'
wavpre_noio.f90:(.text+0x2f28): undefined reference to `__svml_trunc2'
wavpre_noio.f90:(.text+0x2fd9): undefined reference to `__svml_trunc2'
wavpre_noio.f90:(.text+0x3e36): undefined reference to `zgemm_'
wavpre_noio.f90:(.text+0x4164): undefined reference to `zgemm_'
wavpre_noio.f90:(.text+0x423d): undefined reference to `zgemm_'
wavpre_noio.f90:(.text+0x4d51): undefined reference to `zdotc_'
wavpre_noio.f90:(.text+0x4db9): undefined reference to `zdotc_'
wavpre_noio.f90:(.text+0x6b76): undefined reference to `zdotc_'
wavpre_noio.f90:(.text+0x6c15): undefined reference to `zdotc_'
wavpre_noio.f90:(.text+0x6ec0): undefined reference to `zheevx_'
broyden.o: In function `broyden_mp_broyd_.':
broyden.f90:(.text+0x59ec): undefined reference to `dgegv_'
dynbr.o: In function `brzero_':
dynbr.f90:(.text+0x2365): undefined reference to `dgegv_'
rmm-diis.o: In function `rmm_diis_mp_eddrmm_':
rmm-diis.f90:(.text+0x3408): undefined reference to `zgemv_'
rmm-diis.f90:(.text+0x35b1): undefined reference to `zgemv_'
rmm-diis.f90:(.text+0x3722): undefined reference to `zgemv_'
rmm-diis.f90:(.text+0x3aef): undefined reference to `zgemv_'
rmm-diis.f90:(.text+0x5286): undefined reference to `zhegv_'
rmm-diis.f90:(.text+0x5dbe): undefined reference to `zgemv_'
subrot.o: In function `subrot_mp_eddiag_':
subrot.f90:(.text+0x25b7): undefined reference to `zhegv_'
subrot.f90:(.text+0x27d2): undefined reference to `zheevx_'
optreal.o: In function `optreal_new_':
optreal.f90:(.text+0x13d5): undefined reference to `dgetrf_'
optreal.f90:(.text+0x1410): undefined reference to `dgetrs_'
optreal.o: In function `optreal_':
optreal.f90:(.text+0x2f04): undefined reference to `dgetrf_'
optreal.f90:(.text+0x2f3f): undefined reference to `dgetrs_'
davidson.o: In function `david_mp_eddav_':
davidson.f90:(.text+0x410b): undefined reference to `zhegv_'
davidson.f90:(.text+0x4568): undefined reference to `zgemm_'
davidson.f90:(.text+0x465d): undefined reference to `zgemm_'
davidson.f90:(.text+0x57a7): undefined reference to `zgemm_'
davidson.f90:(.text+0x5885): undefined reference to `zgemm_'
davidson.f90:(.text+0x698d): undefined reference to `zheevx_'
optics.o: In function `nabij_soft_.':
optics.f90:(.text+0x37a0): undefined reference to `zgemm_'
finite_diff.o: In function `finite_differences_mp_finite_diff_':
finite_diff.f90:(.text+0x1f4f): undefined reference to `dsyev_'
elpol.o: In function `elpol_mp_ionic_pol_.':
elpol.f90:(.text+0xb6d): undefined reference to `__svml_trunc2'
/opt/intel/mkl/10.0.1.014/lib/32/libfftw3xf_intel.a(fftw_destroy_plan.o): In function `fftw_destroy_plan':
wrappers/fftw_destroy_plan.c:(.text+0x7): undefined reference to `DftiFreeDescriptor'
/opt/intel/mkl/10.0.1.014/lib/32/libfftw3xf_intel.a(fftw_execute.o): In function `fftw_execute':
wrappers/fftw_execute.c:(.text+0x1b): undefined reference to `DftiComputeBackward'
wrappers/fftw_execute.c:(.text+0x27): undefined reference to `DftiComputeBackward'
wrappers/fftw_execute.c:(.text+0x3e): undefined reference to `DftiComputeForward'
wrappers/fftw_execute.c:(.text+0x4a): undefined reference to `DftiComputeForward'
/opt/intel/mkl/10.0.1.014/lib/32/libfftw3xf_intel.a(fftw_plan_many_dft.o): In function `fftw_plan_many_dft':
wrappers/fftw_plan_many_dft.c:(.text+0xbd): undefined reference to `DftiCreateDescriptor'
wrappers/fftw_plan_many_dft.c:(.text+0xc8): undefined reference to `DftiErrorClass'
wrappers/fftw_plan_many_dft.c:(.text+0x116): undefined reference to `DftiCreateDescriptor'
wrappers/fftw_plan_many_dft.c:(.text+0x15e): undefined reference to `DftiSetValue'
wrappers/fftw_plan_many_dft.c:(.text+0x166): undefined reference to `DftiErrorClass'
wrappers/fftw_plan_many_dft.c:(.text+0x173): undefined reference to `DftiFreeDescriptor'
wrappers/fftw_plan_many_dft.c:(.text+0x197): undefined reference to `DftiSetValue'
wrappers/fftw_plan_many_dft.c:(.text+0x19f): undefined reference to `DftiErrorClass'
wrappers/fftw_plan_many_dft.c:(.text+0x1ac): undefined reference to `DftiFreeDescriptor'
wrappers/fftw_plan_many_dft.c:(.text+0x1d1): undefined reference to `DftiSetValue'
wrappers/fftw_plan_many_dft.c:(.text+0x1d9): undefined reference to `DftiErrorClass'
wrappers/fftw_plan_many_dft.c:(.text+0x1e6): undefined reference to `DftiFreeDescriptor'
wrappers/fftw_plan_many_dft.c:(.text+0x20b): undefined reference to `DftiSetValue'
wrappers/fftw_plan_many_dft.c:(.text+0x213): undefined reference to `DftiErrorClass'
wrappers/fftw_plan_many_dft.c:(.text+0x220): undefined reference to `DftiFreeDescriptor'
wrappers/fftw_plan_many_dft.c:(.text+0x281): undefined reference to `DftiSetValue'
wrappers/fftw_plan_many_dft.c:(.text+0x289): undefined reference to `DftiErrorClass'
wrappers/fftw_plan_many_dft.c:(.text+0x296): undefined reference to `DftiFreeDescriptor'
wrappers/fftw_plan_many_dft.c:(.text+0x2f2): undefined reference to `DftiSetValue'
wrappers/fftw_plan_many_dft.c:(.text+0x2fa): undefined reference to `DftiErrorClass'
wrappers/fftw_plan_many_dft.c:(.text+0x307): undefined reference to `DftiFreeDescriptor'
wrappers/fftw_plan_many_dft.c:(.text+0x325): undefined reference to `DftiCommitDescriptor'
wrappers/fftw_plan_many_dft.c:(.text+0x32d): undefined reference to `DftiErrorClass'
wrappers/fftw_plan_many_dft.c:(.text+0x340): undefined reference to `DftiFreeDescriptor'
/opt/intel/mkl/10.0.1.014/lib/32/libfftw3xf_intel.a(fftw_plan_many_dft_c2r.o): In function `fftw_plan_many_dft_c2r':
wrappers/fftw_plan_many_dft_c2r.c:(.text+0xc1): undefined reference to `DftiCreateDescriptor'
wrappers/fftw_plan_many_dft_c2r.c:(.text+0xcc): undefined reference to `DftiErrorClass'
wrappers/fftw_plan_many_dft_c2r.c:(.text+0xef): undefined reference to `DftiSetValue'
wrappers/fftw_plan_many_dft_c2r.c:(.text+0xf7): undefined reference to `DftiErrorClass'
wrappers/fftw_plan_many_dft_c2r.c:(.text+0x104): undefined reference to `DftiFreeDescriptor'
wrappers/fftw_plan_many_dft_c2r.c:(.text+0x165): undefined reference to `DftiCreateDescriptor'
wrappers/fftw_plan_many_dft_c2r.c:(.text+0x176): undefined reference to `DftiSetValue'
wrappers/fftw_plan_many_dft_c2r.c:(.text+0x17e): undefined reference to `DftiErrorClass'
wrappers/fftw_plan_many_dft_c2r.c:(.text+0x18b): undefined reference to `DftiFreeDescriptor'
wrappers/fftw_plan_many_dft_c2r.c:(.text+0x1a9): undefined reference to `DftiSetValue'
wrappers/fftw_plan_many_dft_c2r.c:(.text+0x1b1): undefined reference to `DftiErrorClass'
wrappers/fftw_plan_many_dft_c2r.c:(.text+0x1be): undefined reference to `DftiFreeDescriptor'
wrappers/fftw_plan_many_dft_c2r.c:(.text+0x1e2): undefined reference to `DftiSetValue'
wrappers/fftw_plan_many_dft_c2r.c:(.text+0x1ea): undefined reference to `DftiErrorClass'
wrappers/fftw_plan_many_dft_c2r.c:(.text+0x1f7): undefined reference to `DftiFreeDescriptor'
wrappers/fftw_plan_many_dft_c2r.c:(.text+0x21b): undefined reference to `DftiSetValue'
wrappers/fftw_plan_many_dft_c2r.c:(.text+0x223): undefined reference to `DftiErrorClass'
wrappers/fftw_plan_many_dft_c2r.c:(.text+0x230): undefined reference to `DftiFreeDescriptor'
wrappers/fftw_plan_many_dft_c2r.c:(.text+0x291): undefined reference to `DftiSetValue'
wrappers/fftw_plan_many_dft_c2r.c:(.text+0x299): undefined reference to `DftiErrorClass'
wrappers/fftw_plan_many_dft_c2r.c:(.text+0x2a6): undefined reference to `DftiFreeDescriptor'
wrappers/fftw_plan_many_dft_c2r.c:(.text+0x304): undefined reference to `DftiSetValue'
wrappers/fftw_plan_many_dft_c2r.c:(.text+0x30c): undefined reference to `DftiErrorClass'
wrappers/fftw_plan_many_dft_c2r.c:(.text+0x319): undefined reference to `DftiFreeDescriptor'
wrappers/fftw_plan_many_dft_c2r.c:(.text+0x337): undefined reference to `DftiCommitDescriptor'
wrappers/fftw_plan_many_dft_c2r.c:(.text+0x33f): undefined reference to `DftiErrorClass'
wrappers/fftw_plan_many_dft_c2r.c:(.text+0x352): undefined reference to `DftiFreeDescriptor'
/opt/intel/mkl/10.0.1.014/lib/32/libfftw3xf_intel.a(fftw_plan_many_dft_r2c.o): In function `fftw_plan_many_dft_r2c':
wrappers/fftw_plan_many_dft_r2c.c:(.text+0xc1): undefined reference to `DftiCreateDescriptor'
wrappers/fftw_plan_many_dft_r2c.c:(.text+0xcc): undefined reference to `DftiErrorClass'
wrappers/fftw_plan_many_dft_r2c.c:(.text+0xef): undefined reference to `DftiSetValue'
wrappers/fftw_plan_many_dft_r2c.c:(.text+0xf7): undefined reference to `DftiErrorClass'
wrappers/fftw_plan_many_dft_r2c.c:(.text+0x104): undefined reference to `DftiFreeDescriptor'
wrappers/fftw_plan_many_dft_r2c.c:(.text+0x165): undefined reference to `DftiCreateDescriptor'
wrappers/fftw_plan_many_dft_r2c.c:(.text+0x176): undefined reference to `DftiSetValue'
wrappers/fftw_plan_many_dft_r2c.c:(.text+0x17e): undefined reference to `DftiErrorClass'
wrappers/fftw_plan_many_dft_r2c.c:(.text+0x18b): undefined reference to `DftiFreeDescriptor'
wrappers/fftw_plan_many_dft_r2c.c:(.text+0x1a9): undefined reference to `DftiSetValue'
wrappers/fftw_plan_many_dft_r2c.c:(.text+0x1b1): undefined reference to `DftiErrorClass'
wrappers/fftw_plan_many_dft_r2c.c:(.text+0x1be): undefined reference to `DftiFreeDescriptor'
wrappers/fftw_plan_many_dft_r2c.c:(.text+0x1e2): undefined reference to `DftiSetValue'
wrappers/fftw_plan_many_dft_r2c.c:(.text+0x1ea): undefined reference to `DftiErrorClass'
wrappers/fftw_plan_many_dft_r2c.c:(.text+0x1f7): undefined reference to `DftiFreeDescriptor'
wrappers/fftw_plan_many_dft_r2c.c:(.text+0x21b): undefined reference to `DftiSetValue'
wrappers/fftw_plan_many_dft_r2c.c:(.text+0x223): undefined reference to `DftiErrorClass'
wrappers/fftw_plan_many_dft_r2c.c:(.text+0x230): undefined reference to `DftiFreeDescriptor'
wrappers/fftw_plan_many_dft_r2c.c:(.text+0x291): undefined reference to `DftiSetValue'
wrappers/fftw_plan_many_dft_r2c.c:(.text+0x299): undefined reference to `DftiErrorClass'
wrappers/fftw_plan_many_dft_r2c.c:(.text+0x2a6): undefined reference to `DftiFreeDescriptor'
wrappers/fftw_plan_many_dft_r2c.c:(.text+0x304): undefined reference to `DftiSetValue'
wrappers/fftw_plan_many_dft_r2c.c:(.text+0x30c): undefined reference to `DftiErrorClass'
wrappers/fftw_plan_many_dft_r2c.c:(.text+0x319): undefined reference to `DftiFreeDescriptor'
wrappers/fftw_plan_many_dft_r2c.c:(.text+0x337): undefined reference to `DftiCommitDescriptor'
wrappers/fftw_plan_many_dft_r2c.c:(.text+0x33f): undefined reference to `DftiErrorClass'
wrappers/fftw_plan_many_dft_r2c.c:(.text+0x352): undefined reference to `DftiFreeDescriptor'
../vasp.4.lib/linpack_double.o: In function `zgefa_':
linpack_double.f:(.text+0x9a): undefined reference to `izamax_'
linpack_double.f:(.text+0x481): undefined reference to `zscal_'
linpack_double.f:(.text+0x6c5): undefined reference to `zaxpy_'
../vasp.4.lib/linpack_double.o: In function `zgeco_':
linpack_double.f:(.text+0x86c): undefined reference to `dzasum_'
linpack_double.f:(.text+0x10da): undefined reference to `zdscal_'
linpack_double.f:(.text+0x1bce): undefined reference to `dzasum_'
linpack_double.f:(.text+0x1c0e): undefined reference to `zdscal_'
linpack_double.f:(.text+0x1cc2): undefined reference to `zdotc_'
linpack_double.f:(.text+0x1f09): undefined reference to `zdscal_'
linpack_double.f:(.text+0x200f): undefined reference to `dzasum_'
linpack_double.f:(.text+0x204f): undefined reference to `zdscal_'
linpack_double.f:(.text+0x21c8): undefined reference to `zaxpy_'
linpack_double.f:(.text+0x23b3): undefined reference to `zdscal_'
linpack_double.f:(.text+0x23f2): undefined reference to `dzasum_'
linpack_double.f:(.text+0x2432): undefined reference to `zdscal_'
linpack_double.f:(.text+0x2856): undefined reference to `zdscal_'
linpack_double.f:(.text+0x2c65): undefined reference to `zaxpy_'
linpack_double.f:(.text+0x2c96): undefined reference to `dzasum_'
linpack_double.f:(.text+0x2cd6): undefined reference to `zdscal_'
../vasp.4.lib/linpack_double.o: In function `zgedi_':
linpack_double.f:(.text+0x346c): undefined reference to `zscal_'
linpack_double.f:(.text+0x35de): undefined reference to `zaxpy_'
linpack_double.f:(.text+0x3814): undefined reference to `zaxpy_'
linpack_double.f:(.text+0x3899): undefined reference to `zswap_'
make: *** [vasp] Error 1
---------------------------------------
Thank you very much in advance.
Hope that oneday, I can repay your helps.
Last edited by baolkvn on Thu May 29, 2008 6:11 pm, edited 1 time in total.

gorkab
Newbie
Newbie
Posts: 8
Joined: Mon Sep 22, 2008 4:07 pm

fatal error....[radial.o] Error 1

#7 Post by gorkab » Mon Sep 22, 2008 4:14 pm

Hi,

anybody could resolve this problem?

I've got the same output :(

thanks in advance,
Last edited by gorkab on Mon Sep 22, 2008 4:14 pm, edited 1 time in total.

admin
Administrator
Administrator
Posts: 2921
Joined: Tue Aug 03, 2004 8:18 am
License Nr.: 458

fatal error....[radial.o] Error 1

#8 Post by admin » Tue Sep 23, 2008 9:52 am

the BLAS library has to be included correctly
Last edited by admin on Tue Sep 23, 2008 9:52 am, edited 1 time in total.

gorkab
Newbie
Newbie
Posts: 8
Joined: Mon Sep 22, 2008 4:07 pm

fatal error....[radial.o] Error 1

#9 Post by gorkab » Wed Oct 01, 2008 4:59 pm

EDIT= sorry, I copied a bad Makefile, let's to try it again :)


Hi again!,

these are the tools that I use to compile VASP:

intel fc 10.1.015
intel icc 10.1.015
intel mkl 10.0.3.020
mpich 1.2.7p1


and this is my BLAS line:

BLAS=-L/opt/intel/mkl/10.0.3.020/lib/32/ -lmkl_intel_lp4 -lmkl_blacs -lmkl_intel_thread -lmkl_core -liomp5 -lpthread

Following the instructions of http://www.intel.com/support/performanc ... 028850.htm I edited my Makefile:

NOTE: Pay attention that I use my own version of mpich compiled with intel compiler.

.SUFFIXES: .inc .f .f90 .F
#-----------------------------------------------------------------------
# Makefile for Intel Fortran compiler for P4 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=ifort
# 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)
#-----------------------------------------------------------------------

CPP = $(CPP_) -DHOST=\"LinuxIFC\" \
-Dkind8 -DNGXhalf -DCACHE_SIZE=12000 -DPGF90 -Davoidalloc \
-DRPROMU_DGEMV -DRACCMU_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 -xW -tpp7

OFLAG_HIGH = $(OFLAG)
OBJ_HIGH =

OBJ_NOOPT =
DEBUG = -FR -O0
INLINE = $(OFLAG)


#-----------------------------------------------------------------------
# the following lines specify the position of BLAS and LAPACK
# on P4, VASP works fastest with the libgoto library
# so that's what I recommend
#-----------------------------------------------------------------------

# Atlas based libraries
#ATLASHOME= $(HOME)/archives/BLAS_OPT/ATLAS/lib/Linux_P4SSE2/
#BLAS= -L$(ATLASHOME) -lf77blas -latlas

# use specific libraries (default library path might point to other libraries)
#BLAS= $(ATLASHOME)/libf77blas.a $(ATLASHOME)/libatlas.a

# 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

#BLAS=-L/opt/intel/mkl/10.0.3.020/lib/32/ -lmkl_lapack -lmkl_em64t /opt/intel/fc/10.1.015/lib/libguide.a -lpthread -lblas
BLAS=-L/opt/intel/mkl/10.0.3.020/lib/32/ -lmkl_intel_lp4 -lmkl_blacs -lmkl_intel_thread -lmkl_core -liomp5 -lpthread
LAPACK=-L/opt/intel/mkl/10.0.3.020/lib/32/ -lmkl_intel_lp4 -lmkl_blacs -lmkl_intel_thread -lmkl_core -liomp5 -lpthread
# 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 = -xW -i-static
# 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= fftmpiw.o fftmpi_map.o fft3dlib.o /opt/intel/mkl/10.0.3.020/include/fftw/ -FR -lower_case
#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 " \
# --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=/opt/mpich1/bin/mpif90
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=\"LinuxIFC\" -DIFC \
-Dkind8 -DNGZhalf -DCACHE_SIZE=4000 -DPGF90 -Davoidalloc \
-DMPI_BLOCK=500 \
-DRPROMU_DGEMV -DRACCMU_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=
SCA=/opt/intel/mkl/10.0.3.020/lib/32/libmkl_scalapack.a
#-----------------------------------------------------------------------
# libraries for mpi
#-----------------------------------------------------------------------

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
#-----------------------------------------------------------------------
# these special rules are cummulative (that is once failed
# in one compiler version, stays in the list forever)
# -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 -O1 -tpp7 -xW -prefetch- -unroll0 -vec_report3 -c $*$(SUFFIX)
fft3dfurth.o : fft3dfurth.F
$(CPP)
$(FC) -FR -lowercase -O1 -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)

broyden.o : broyden.F
$(CPP)
$(FC) -FR -lowercase -O2 -c $*$(SUFFIX)

us.o : us.F
$(CPP)
$(FC) -FR -lowercase -O1 -c $*$(SUFFIX)

wave.o : wave.F
$(CPP)
$(FC) -FR -lowercase -O0 -c $*$(SUFFIX)

LDApU.o : LDApU.F
$(CPP)
$(FC) -FR -lowercase -O2 -c $*$(SUFFIX)

unfortunately I get this error:

/opt/mpich1/bin/mpif90 -o vasp -xW -i-static main.o 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 symmetry.o symlib.o lattlib.o random.o 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 paircorrec 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 d
os.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 setloc
alpp.o fftmpi.o fftmpi_map.o fft3dlib.o -L../vasp.4.lib -ldmy ../vasp.4.lib/linpack_double.o -L/opt/intel/mkl/10.0.3.020/lib/32/ -lmkl_lapack -lmkl_em64t
/opt/intel/fc/10.1.015/lib/libguide.a -lpthread mpi.o: In function `m_sumb_d_':
mpi.f90:(.text+0xb3): undefined reference to `dcopy_'mpi.o: In function `m_sum_d_':
mpi.f90:(.text+0x289): undefined reference to `dcopy_'mpi.o: In function `m_sumf_d_.':


any advice?

thanks for all
<span class='smallblacktext'>[ Edited Sat Oct 04 2008, 06:03PM ]</span>
Last edited by gorkab on Wed Oct 01, 2008 4:59 pm, edited 1 time in total.

gorkab
Newbie
Newbie
Posts: 8
Joined: Mon Sep 22, 2008 4:07 pm

fatal error....[radial.o] Error 1

#10 Post by gorkab » Sat Oct 04, 2008 4:43 pm

Solved!!!

just only add -lmkl_intel in BLAS line.

Thanks for all
Last edited by gorkab on Sat Oct 04, 2008 4:43 pm, edited 1 time in total.

Post Reply