← Back to team overview

dolfin team mailing list archive

Re: FindLAPACK

 

On Thu, Oct 25, 2012 at 4:42 AM, Anders Logg <logg@xxxxxxxxx> wrote:
> 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.

I think this was a good solution.

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

I guess that if one has both normal BLAS and ATLAS BLAS installed, one
should be able to select ATLAS BLAS by setting
-DBLA_VENDOR:STRING=ATLAS.

Johannes


References