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