Hi all. I recently needed to use a LAPACK routine in a Cactus thorn. Since my local machine's installation of LAPACK & BLAS was old, I decided to force an installation by including the thorns "ExternalLibraries/[BLAS,LAPACK]". This seemed to work, with the resulting .a files ending up in configs/<my config name>/scratch/external/LAPACK, etc. Compiling and running my cactus executable, however, I found the LAPACK gave completely wrong results.
For a much simpler test case that (see attached F90 standalone program), consider the 2x2 system A x = b, where A = (3, 2\\2, 6), and b = (5, 8).
Correct result for "x" is (1,1).
Cactus-forced LAPACK (using routine "dgesv") yields (-2,1).
I later installed LAPACK (v. 3.3.0) + BLAS by hand on my machine. Linking against these yields the correct answer.
I'm on a 32-bit Linux machine, using the Intel 10 compilers.
I'd appreciate any insights on this. Thanks,
Bernard