Dear LAPACK team,
I just stumbled across an annoyance when building application code
against a library which in turn depends on LAPACK and BLAS. The
application code and library are entirely written in C/C++ and built
with CMake.
Now, at the final executable linking step, everything is put together,
including liblapack.a and friends. As the linker would be C++ (for
example), and whole application code is C++, the build system is not
aware of the fact that the standard Fortran libraries need to be linked
as well as LAPACK is on stage. Depending on what LAPACK was built with,
those "standard libraries" may actually change.
This is a dilemma that's been discussed on the CMake mailing list
several times
(http://www.cmake.org/pipermail/cmake/2010-July/038172.html,
http://www.cmake.org/pipermail/cmake/2011-January/041992.html), and of
course LAPACK is not the only affected library.
As Brad King points out, the clean solution for this situation would be
that each library that is built provides a file with build info to be
installed along with the .a file. Many libraries do that via
*Config.cmake files.
Are there plans within LAPACK to implement a similar thing?
Cheers,
Nico
|