Hello,

I'm using cmake 2.6.2.
While trying to use the FindLAPACK module on a Linux system which has
ATLAS installed I stumbled upon a problem where the BLAS libraries
would not be found. By digging into FindBLAS.cmake I discovered that
when checking for the ATLAS libraries, the module tries to make sure
that the cblas_dgemm function is there and can be compiled within a
Fortran program. I find this a bit puzzling for a couple of reasons:
1) when compiled with GNU or Intel fortran (and I guess with most of
the other) compilers, the generated symbol would be cblas_dgemm_
(notice the underscore at the end). However the cblas library which
comes with ATLAS will have this symbol without the underscore, and
thus will not link.
2) why do we need to make sure cblas_dgemm function works? Isn't the
"cblas" part kind of an implementation detail? Why not just check for
dgemm function which is actually part of the BLAS interface?

Anyway, in my installation, the way FindBLAS.cmake is, it will fail
finding BLAS (and therefore LAPACK) that's provided by ATLAS. However,
by simply changing FindBLAS.cmake to look for the "dgemm" function
instead of "cblas_dgemm" everything works just fine.
Am I missing something? Wouldn't it be better to look for dgemm
instead of cblas_dgemm?

Thanks.
-Vardan
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to