Harminv这货是做什么的呢?官网是这样说的:这个一个免费程序(和相应的库)来解决问题调和反演-一个离散、有限长信号,由有限多个正弦信号的总和(可能指数衰减)在一个给定的带宽,它决定了频率,衰减常数,振幅。说白了就是一个计算相关物理属性的数字库。我不懂物理方面的,帮朋友电脑上安装这个库,他工作方面用的到。
在Harminv官网上简单的介绍了下怎样下编译安装:http://ab-initio.mit.edu/wiki/index.php/Harminv_installation
./configure
make
sudo make install
但是,在理想和现实差距有点大,特别电脑上没有安装blas和lapack的同学。
正确的方法应该是如下:
(在修改前先安装下gfortran编译器:sudo apt-get install gfortran)
1.下载Harminv源码:http://ab-initio.mit.edu/harminv/harminv-1.4.tar.gz
2.下载lapack源码:http://www.netlib.org/lapack/lapack-3.6.0.tgz
3.编译安装lapack和blas:
1)解压lapck-3.6.0.tgz
tar -xvf lapack-3.6.0.tgz
2)到lapack目录中
cd lapack-3.6.0/
3)将make.inc.example 复制一分并改名为 make.inc:
cp make.inc.example make.inc
4)修改make.inc文件第19到24行,结果如下:
FORTRAN = gfortran
OPTS = -funroll-all-loops -O3
DRVOPTS = $(OPTS)
NOOPT =
LOADER = gfortran
LOADOPTS =
5)修改Makefile文件(第11添加#,12行删除#)
将:
lib: lapacklib tmglib
#lib: blaslib lapacklib tmglib
改成:
#lib: lapacklib tmglib
lib: blaslib lapacklib tmglib
6)直接:
sudo make
如果没有错误,将会生成3个静态库文件:liblapack.a, librefblas.a, libtmglib.a
7)将librefblas.a改名成libblas.a(不改名可能会有bug,ubuntu15.10中生成4个静态库文件,很奇怪,但是不管了)
mv librefblas.a libblas.a
8)将liblapack.a, libblas.a, libtmglib.a三这个文件复制到 /usr/lib 和 /usr/local/lib目录中
sudo cp *.a /usr/lib/
sudo cp *.a /usr/local/lib/
自此blas和lapack就编译安装好了,接着就是harminv编译安装了
4.解压harminv,并进入harminv目录
tar -xvf harminv-1.4.tar.gz
cd harminv-1.4/
5.直接:
./configure
make
sudo make install
6.如果想要看看是否成功可以看看版本号
harminv -V
最后,上传一个个人编译好的deb包,给想玩玩的朋友试试:
http://pan.baidu.com/s/1hqXHuUK