On 2008-01-03 00:58-0700 Jerry wrote:
> [...]I think we can reasonably require a "real" Ada 2005 compiler
> such as 4.3 for proper building.
That sounds fine to me.
> The Ada 2005 Reference Manual strongly suggests that BLAS (Basic
> Linear Algebra System) and LAPACK (Linear Algebra Package) do the
> heavy lifting since they are very good and very mature.
> So, to get a fully functional Ada 2005 compiler, one needs to link to
> these two libraries. [...]
For my FreeEOS project I developed FindBLAS.cmake and FindLapack.cmake and a
helper file called CheckFortranFunctionExists.cmake to deal with the issue
of finding BLAS and LAPACK on my Linux platform. However, my solution
didn't deal with other platforms very well because I didn't have the
required platform-dependent BLAS and LAPACK expertise. Fortunately, though,
Alin Elena was much more in the know about these issues so he took over my
efforts and vastly improved them. I understand the result works well on the
Mac now since he is particularly interested in that platform. To see his
latest version, look for the above files in
I am completely tied up with something else for the next month or so.
Therefore, Jerry, if you are anxious for a quick solution you will have to
learn how to use those files for yourself. The basic procedure would be the
(1) Copy the above files to cmake/modules so that PLplot can access them
since we use CMake 2.4.x at the moment rather than the cvs version of CMake.
(2) Change ada.cmake in cmake/modules to extract library locations from
those files into CMake variables LAPACK_LINKER_FLAGS and LAPACK_LIBRARIES.
Follow the last few lines of free_eos.cmake (which can be found at
These first two steps should be completely straightforward, and the two
message lines you copy from free_eos.cmake will tell you the resulting
values of LAPACK_LINKER_FLAGS and LAPACK_LIBRARIES, i.e., will tell you if
CMake found everything properly on your Mac OS X platform If there is any
problem with that, then you may need to modify the three files
appropriately, but I suspect everything will be fine.
(3) Change our Ada library link code (and possible examples as well?)
to use LAPACK_LINKER_FLAGS and LAPACK_LIBRARIES appropriately.
This step will require a good overview of our build system (so you know
where our Ada library and examples are built and with what commands) and
will probably require some experimentation to get right.
Jerry, good luck with this! Although I am pretty busy at the moment, I am
always available to answer a quick question if you run into any roadblocks
with the above.
Alan W. Irwin
Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).
Programming affiliations with the FreeEOS equation-of-state implementation
for stellar interiors (freeeos.sf.net); PLplot scientific plotting software
package (plplot.org); the libLASi project (unifont.org/lasi); the Loads of
Linux Links project (loll.sf.net); and the Linux Brochure Project