[CMake] FindBLAS, FindLAPACK Modules and ACML Errors

Lori A. Pritchett-Sheats lpritch at lanl.gov
Fri Apr 20 18:47:15 EDT 2012


I downloaded and installed the latest version of CMake 2.8.8. I found 
problems with the FindBLAS, FindLAPACK modules.

First thing I noticed was the ACML library search does not work for 
versions > 5.0. ACML no longer distributes acml_mv (multivector library) 
with ACML for versions > 5.0. FindBLAS only searches searches for acml 
and acml_mv libraries.

And then I ran into a very strange error with an older version of ACML. 
Simply calling FindBLAS when I did not set BLAS_ACML_LIB_DIRS, but I did 
have the ACML install in my LD_LIBRARY_PATH. Output from a very simple 
foo project that sets BLA_VENDOR to ACML and calls find_package(BLAS) 
and find_package(LAPACK):


-- The C compiler identification is GNU 4.1.2
-- The CXX compiler identification is GNU 4.1.2
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
CMake Error at 
/opt/packages/cmake/2.8.8/share/cmake-2.8/Modules/FindBLAS.cmake:294 (list):
   list index: 0 out of range (-0, 18446744073709551615)
Call Stack (most recent call first):
   CMakeLists.txt:6 (find_package)


CMake Error at 
/opt/packages/cmake/2.8.8/share/cmake-2.8/Modules/FindBLAS.cmake:295 (list):
   list index: 0 out of range (-0, 18446744073709551615)
Call Stack (most recent call first):
   CMakeLists.txt:6 (find_package)


-- Looking for sgemm_
-- Looking for sgemm_ - found
-- A library with BLAS API found.
CMake Error at 
/opt/packages/cmake/2.8.8/share/cmake-2.8/Modules/FindBLAS.cmake:294 (list):
   list index: 0 out of range (-0, 18446744073709551615)
Call Stack (most recent call first):
   
/opt/packages/cmake/2.8.8/share/cmake-2.8/Modules/FindLAPACK.cmake:140 
(find_package)
   CMakeLists.txt:7 (find_package)


CMake Error at 
/opt/packages/cmake/2.8.8/share/cmake-2.8/Modules/FindBLAS.cmake:295 (list):
   list index: 0 out of range (-0, 18446744073709551615)
Call Stack (most recent call first):
   
/opt/packages/cmake/2.8.8/share/cmake-2.8/Modules/FindLAPACK.cmake:140 
(find_package)
   CMakeLists.txt:7 (find_package)


-- A library with BLAS API found.
-- A library with LAPACK API found.
-- BLAS_FOUND=TRUE
-- LAPACK_FOUND=TRUE
-- 
BLAS_LIBRARIES=/opt/packages/acml-gnu/4.4.0/gfortran64/lib/libacml.so;/opt/packages/acml-gnu/4.4.0/gfortran64/lib/libacml_mv.so
-- 
LAPACK_LIBRARIES=/opt/packages/acml-gnu/4.4.0/gfortran64/lib/libacml.so;/opt/packages/acml-gnu/4.4.0/gfortran64/lib/libacml_mv.so
-- Configuring incomplete, errors occurred!

Looking at the source, I believe there is an undefined list variable and 
a list(GET ...) call that is failing.



-- 
Lori A. Pritchett-Sheats, PhD.
CCS-2, Computational Physics and Methods
Office: 505-665-6675
Fax: 505-665-4972

Los Alamos National Laboratory
P.O. Box 1663
MS D413
Los Alamos, NM 87544



More information about the CMake mailing list