← Back to team overview

dolfin team mailing list archive

Re: FindLAPACK

 

On Wed, Oct 24, 2012 at 12:17:29PM +0200, Johannes Ring wrote:
> On Wed, Oct 24, 2012 at 7:43 AM, Anders Logg <logg@xxxxxxxxx> wrote:
> > On Tue, Oct 23, 2012 at 05:21:07PM +0200, Johannes Ring wrote:
> >
> >> >> There was a typo there, but this also works for me:
> >> >>
> >> >>       -D LAPACK_LIBRARIES:FILEPATH=${ATLAS_DIR}/lib/liblapack.a \
> >> >>       -D BLAS_LIBRARIES:FILEPATH=${ATLAS_DIR}/lib/libatlas.a
> >
> > This makes the FindLAPACK test pass, but then I get in trouble with
> > the Armadillo test. The test program is failing with link errors:
> >
> > /scratch/fenics-test/lib/liblapack.a(ATL_dgelqf.o): In function `ATL_dgelqf':
> > ATL_gelqf.c:(.text+0x235): undefined reference to `ATL_dgemoveT'
> > ATL_gelqf.c:(.text+0x29d): undefined reference to `ATL_dgemoveT'
> > ATL_gelqf.c:(.text+0x35b): undefined reference to `ATL_xerbla'
> > etc
>
> These are defined in libatlas.a, so I guess it is not linked
> correctly. I have made a patch for Dorsal that should fix this
> (attached), at least it worked for me.
>
> > Can you comment out the lines I added at the top of FindLAPACK.cmake
> > and check whether you can build Armadillo?
>
> This is not needed since, when CMAKE_PREFIX_PATH is defined, CMake
> will automatically search for header files and libraries in the path
> given by CMAKE_PREFIX_PATH.

Yes, but extra flags were still required when configuring DOLFIN.

It looked like the only missing library compared to what CMake managed
to figure out is cblas. I've added it to the list in FindBLAS.cmake
now. The other to were (atlas and f77blas) were already there. I hope
this doesn't break anything.

The DOLFIN configure for Armadillo now passes fine here without
needing to supply any extra flags to DOLFIN, only setting
CMAKE_PREFIX_PATH.

--
Anders


Follow ups

References