Hi,
I'm trying to link Lapack and essl from CPMD.
CPMD Makefile is:
_________________________
FFLAGS = -q64 -qmaxmem=32768 -qtune=pwr5 -qarch=pwr5
LFLAGS = -O -q64 -L/afs/enea.it/cas/user/mirabell/lapack-3.4.2 -llapack_64\
-lessl -qarch=pwr5 -bbinder:/usr/lib/bind -bmaxdata:4294967295
CFLAGS = -qarch=pwr5 -q64
CPP = /usr/ccs/lib/cpp -P
CPPFLAGS = -D__IBM -D__IBMNEW -DLAPACK -DFFT_ESSL -DMALLOC8 -DPOINTER8 \
-DPARALLEL=PARALLEL -DMP_LIBRARY=__MPI
#CPPFLAGS = -D__IBM -DPOINTER8 -DPARALLEL=PARALLEL -DFFT_ESSL
NOOPT_FLAG = -O0 -q64
NOOPT_OBJ = control.o memory.o freem.o
CC = xlc_r -c
FC = mpxlf_r -c -O3 -qstrict
LD = mpxlf_r -O3 -qstrict
AR = /usr/bin/ar ruv
__________________________
Lapack compilation is successful and the library liblapack.a is created: Lapack make.inc is
############
FORTRAN = mpxlf_r
OPTS = -O3 -q64 -qfixed -qnosave -qextname
DRVOPTS = $(OPTS)
NOOPT = -O0 -q64 -qfixed -qnosave -qextname
LOADER = mpxlf_r
CC = xlc
CFLAGS = -O3 -qnosave
ARCH = ar -X64
ARCHFLAGS= cr
RANLIB = ranlib
#################
Linking always fails with the following messages
***************************
..................................sysdepend.o -O -q64 -L/afs/enea.it/cas/user/mirabell/lapack-3.4.2 -llapack_64 -lessl -qarch=pwr5 -bbinder:/usr/lib/bind -bmaxdata:4294967295
ld: 0711-317 ERROR: Undefined symbol: .dtrtrs
ld: 0711-317 ERROR: Undefined symbol: .dsyev
ld: 0711-317 ERROR: Undefined symbol: .dgelss
ld: 0711-317 ERROR: Undefined symbol: .zheev
ld: 0711-317 ERROR: Undefined symbol: .dstevx
ld: 0711-317 ERROR: Undefined symbol: .zheevx
ld: 0711-317 ERROR: Undefined symbol: .dsyevx
ld: 0711-317 ERROR: Undefined symbol: .zhegv
ld: 0711-317 ERROR: Undefined symbol: .ilaenv
ld: 0711-317 ERROR: Undefined symbol: .dstev
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
*******************************
I suspect that Lapack was not built correctly for 64 bit architecture but I'm not sure.
Can you give me some help?