Building Lapack with IBM’s ESSL is a little tricky. First you have to download lapack and also the call conversion interface (cci) patch that takes care of renaming lapack routines that overlap with ESSL ones. Also generic BLAS has to be built to take care of few BLAS routines that ESSL doesn’t implement.
Use the following contents of the make.inc to build Lapack and Blas. Generic BLAS (libblas.a) should be built to take care of the few BLAS routines that ESSL doesn’t implement. Build the generic BLAS first by editing the setting the BLASLIB = ../../libblas.a and then revert to the original BLASLIB line to build liblapack_cci.
SHELL = /bin/sh
PLAT = _ppc64
FORTRAN = xlf_r
OPTS = -q64 -qtune=pwr7 -qsuppress=cmpmsg -qextname
DRVOPTS = $(OPTS)
NOOPT = -q64 -qtune=pwr7 -qsuppress=cmpmsg -qextname
LOADER = xlf_r
LOADOPTS = -q64 -qtune=pwr7 -qsuppress=cmpmsg -qextname
TIMER = INT_CPU_TIME
ARCH = ar
ARCHFLAGS= cr
RANLIB = ranlib
BLASLIB = -L/opt/apps/ibm/essl/5.1/lib64 -lessl ../../libblas.a
#BLASLIB = ../../libblas.a
XBLASLIB =
LAPACKLIB = lapack$(PLAT).a
TMGLIB = tmglib$(PLAT).a
EIGSRCLIB = eigsrc$(PLAT).a
LINSRCLIB = linsrc$(PLAT).a
To link Lapack with ESSL use the following line:
-L/path/to/essl -lessl -llapack_cci -lblas