在Linux环境下Lapack软件包的编译和使用(ensured)


1. 从 netlab 下载最新版本的源代码

2. 将源代码解压缩

tar -zxf lapack-3.2.1.tgz

3. 编辑 make.inc 文件,进行一些系统相关的编译参数设置

PLAT : 设置生成的库函数的后缀,比如 SUN, LINUX之类的,当然也可以不设置;// # 注释

FORTRAN : 设置编译器,比如 g77, gfortran, ifort, g95 等等;// if not have g77, use gfortran.

OPT:设置编译选项,根据具体的编译器和优化要求进行设置;

LOADER : 设置成和FORTRAN 一样就可以了;

4. 编辑 Makefile

找到 lib: 选项。然后设置需要编译的库函数如下

#lib: lapacklib tmglib

lib: blaslib lapacklib tmglib

默认的情况是不编译 blas 库的。

5. 编译和测试 Lapack.

在源代码的根目录下输入 make 回车。然后 make 程序就会自动进行编译和测试。

6. Lapack 函数的使用

如果编译和测试顺利的话会在源代码的根目录下生成三个文件 lapack.a、blas.a、tmglib.a。lapack.a 和 blas.a 就是我们所需要的库函数。它们的使用有两种途径:

a) cp lapack.a liblapack.a , cp blas.a libblas.a 并拷贝到 LD_LIBRARY_PATH 目录下,或者它们所在的目录加入到 LD_LIBRARY_PATH 环境变量中,或者在编译时候加上 “-L lapack所在目录/” 选项。编译的时候加上编译选项 -llapack -lblas.

b) 编译的时候直接把 lapack.a 和 blas.a 一起同需要编译的代码一起编译。比如 要编译的文件为 main.f90 编译器为 gfortran 。 gfortran main.f90 lapack.a blas.a.

相关内容