linpack_double.o: file not recognized

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

Moderators: Global Moderator, Moderator

Post Reply
Message
Author
Jooya
Newbie
Newbie
Posts: 1
Joined: Mon Apr 16, 2007 10:53 am

linpack_double.o: file not recognized

#1 Post by Jooya » Mon Apr 16, 2007 11:28 am

Dear All,
I am trying to install vasp.4.4 on a P4 PC.
vasp.4.lib Makefile compiled without error.
But I faced with the following error when compiling the Makefile in vasp.4.4

/root/VASP/src/vasp.4.lib/linpack_double.o: file not recognized: File format not recognized
collect2: ld returned 1 exit status
make: *** [vasp] Error 1

Can it be a problem stands from linking the file “ linpack_double.o� from the library?
Your kind advice, for solving the problem, is appreciated in advance.

The Makefile, I used comes below:
It should be added that there is no specified Makefile in vasp.4.4 folder for P4 machine; so I tried to modified this one (makefile.linux_abs)
-------------------------------------------------------------------------
-------------------------------------------------------------------------

.SUFFIXES: .inc .f .f90 .F
#-----------------------------------------------------------------------
# Makefile for Absoft F90
# http://www.absoft.com/
# we found that performance of the portland group compiler is
# superior to the Absoft compiler. However, the Absoft compiler
# is certainly more stable and robust.
#
# The makefile was tested only under Linux on Intel platforms
# (Suse 6.2, libc6.0, glib2.1)
# The CPP_ line must be changed for other releases (i.e. Red Hat) !
#
# MIND: blas must be installed on the machine
# there are several options:
# 1) Absoft f90 release includes "optimized" blas libraries
# but their performance is quite bad (not to say very bad 50 Mflops!)
# option 3) is certainly more desireable
# 2) also slow but works too:
# 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)
# 3) most desirable: get an optimized BLAS
# for a list of optimized BLAS try
# http://www.kachinatech.com/~hjjou/scilib/opt_blas.html
# 3a) I have downloaded and tested
# http://www.cs.utk.edu/~ghenry/distrib/
# and found a peak performance of 250 MFlops on a PII 400 MHz
# which is really excellent
# This library definitely outperforms the pgi blas library
# or the public domain blas libraries by a factor of 2-4.
# 3b) or obtain the atlas based blas routines
# http://www.netlib.org/atlas/index.html
# you certainly need atlas on the K7 Athlon, since the PII optimised
# routines are not optimal on the Athlon.
# If you want to use atlas based BLAS, check the lines around LIB=
#
#-----------------------------------------------------------------------

# all CPP processed fortran files have the extension .f
SUFFIX=.f90

# fortran compiler
FC=/usr/bin/f95

# C-preprocessor define any of the flags given below
# single_precission single precission BLAS/LAPACK calls
# vector
# essl use ESSL call sequence for DSYGV
# NGXhalf charge density reduced in X direction
# NGZhalf charge density reduced in Z direction
# wNGXhalf gamma point only reduced in X direction
# wNGZhalf gamma point only reduced in Z direction

# 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 Red Hat
#CPP_ = /usr/lib/gcc-lib/i386-redhat-linux/2.7.2.3/cpp -P -C
# also SUSE 5.3, maybe Red Hat as well
CPP_ = /usr/bin/cpp -P -C
CPP = $(CPP_) \
-Dkind8 -DNGXhalf -DCACHE_SIZE=1000 <$*.F >$*$(SUFFIX)

# general fortran flags (there must a trailing blank on this line)
FFLAGS = -B108 -YEXT_NAMES=LCS
# optimization
OFLAG = -O -B100
OFLAG_HIGH = $(OFLAG)
OBJ_HIGH =
OBJ_NOOPT =
DEBUG = -g
INLINE = $(OFLAG)

# options for linking
LINK =
# it is assumed that the blas library is called libblas.a
# and located in /usr/local/lib, if you want to use PGI's blas
# please replace /usr/local/lib/libblas.a by -lblas
#

BLAS=-L/root/VASP/BLAS/ATLAS/lib/Linux_master -lmkl_p4 -lguide -lsvml
LAPACK= /root/VASP/src/vasp.4.lib/lapack_double.o

LIB = -L /root/VASP/src/vasp.4.lib -ldmy /root/VASP/src/vasp.4.lib/linpack_double.o \
/root/VASP/src/vasp.4.lib/lapack_double.o -L/root/VASP/BLAS/ATLAS/lib/Linux_master /root/VASP/BLAS/ATLAS/lib/Linux_master/libcblas.a -lm
#
# the following lines should allow you to link to atlas based blas
#LIB = -L../vasp.4.lib -ldmy ../vasp.4.lib/linpack_double.o \
# ../vasp.4.lib/lapack_double.o -L/usr/local/lib
# -L$(HOME)/archives/BLAS_OPT/ATLAS/lib/Linux_ATHLON/ -lf77blas -latlas
# -L$(HOME)/archives/BLAS_OPT/ATLAS/lib/Linux_PII/ -lf77blas -latlas

FFT3D = 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 \
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 \
pot.o force.o dos.o elf.o \
tet.o hamil.o steep.o hamil_rot.o \
sphpro.o chain.o dyna.o paw.o us.o \
rot.o ebs.o wavpre.o wavpre_noio.o broyden.o \
dynbr.o rmm-diis.o reader.o tutor.o \
brent.o stufak.o fileio.o opergrid.o stepver.o \
dipol.o xclib.o chgloc.o subrot.o optreal.o \
edtest.o electron.o shm.o pardens.o paircorrection.o \
optics.o constr_cell_relax.o cl_shift.o stm.o elpol.o

INC=

vasp: $(SOURCE) $(FFT3D) $(INC) main.o
rm -f vasp
$(FC) -o vasp $(LINK) main.o $(SOURCE) $(FFT3D) $(LIB)
makeparam: $(SOURCE) $(FFT3D) makeparam.o main.F $(INC)
$(FC) -o makeparam $(LINK) makeparam.o $(SOURCE) $(FFT3D) $(LIB)
zgemmtest: zgemmtest.o base.o random.o $(INC)
$(FC) -o zgemmtest $(LINK) zgemmtest.o random.o base.o $(LIB)
dgemmtest: dgemmtest.o base.o random.o $(INC)
$(FC) -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)
$(FC) -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)
$(FC) -o kpoints $(LINK) makekpoints.o $(SOURCE) $(FFT3D) $(LIB)

clean:
-rm -f *.f *.o *.L ; 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)

# additional rules
dummy.o: dummy.f
f77 dummy.f -c -o dummy.o
Last edited by Jooya on Mon Apr 16, 2007 11:28 am, edited 1 time in total.

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

linpack_double.o: file not recognized

#2 Post by admin » Wed Nov 06, 2013 10:08 am

please check whether linpack-double really was compiled or whether the
linpack-double.o already existed before you compiled that vasp.lib
(to make sure, please explicitely rm all .o and .a files)
Last edited by admin on Wed Nov 06, 2013 10:08 am, edited 1 time in total.

Post Reply