• Ubuntu下编译SHTOOLS


    SHTOOLS是使用Fortran语言写的一个专门用于处理球谐函数的一个开源库,更多的介绍请猛戳这里,关于这个库的安装和使用,都在官网上有详细的说明,虽然很详细,但是编译的时候还是比较费劲,下面将我在Ubuntu下编译的步骤记录下。

    首先SHTOOLS需要依赖三个库,分别是FFTW库,BLAS库和LAPACK库。FFTW库是傅立叶变换的库,只能用一句很好很强大来说明了,前段时间自己写了一个图像的傅立叶变换,处理一幅图像(12208×12208)的16bit但波段图像,进行MTF复原,整整需要5分钟多,之后将MTF中的傅立叶变换的代码使用fftw库替换,处理时间只有50秒,总之一句话非常强大(话说matlab里面傅立叶变换也是用的这个库)。剩下的BLAS和LAPACK就是用fortran写的一个线性代数相关的库。

    1、下载所需要的库,一共四个库,其中SHTOOLS一个,另外三个是SHTOOLS所依赖的。下载地址分别为:

    名称

    下载地址

    SHTOOLS

    http://www.ipgp.fr/~wieczor/SHTOOLS2.8.tar.Z

    FFTW3

    http://www.fftw.org/fftw-3.3.3.tar.gz

    BLAS

    http://www.netlib.org/blas/blas.tgz

    LAPACK

    http://www.netlib.org/lapack/lapack-3.4.2.tgz

    下载完将上面四个压缩包放到一个目录并解压,我这里是/home/liminlu/3rdPart,如下图:

    在编译之前要确保自己的电脑安装gfortran和tbsh,使用命令安装这两个工具。

    sudo apt-get install gfortran
    sudo apt-get install tbsh

    注意输入上面的安装命令后,会提示你输入密码,输入密码时终端没有任何反应,直接输入完回车即可。

    2、编译fftw

    打开终端,cd到fftw-3.3.3目录,然后输入

    .configure

              等待配置完成,然后再输入

    make
              等待编译完成,然后再输入

    sudo make install
             输入完会提示你输入你的密码,输入密码回车,fftw库就安装好了。

    3、编译BLAS库

    打开终端,cd到BLAS目录,然后直接输入make回车就等待编译完成即可。完成之后在BLAS目录下会生成一个blas_LINUX.a文件,需要将该文件改名。重命名为libblas.a然后将该文件拷贝到/usr/local/lib目录,直接拷贝会提示没有权限,所以需要使用sudo命令拷贝。

    在终端输入:

    sudo cp /home/liminlu/3rdPart/BLAS/libblas.a/usr/local/lib
    回车后,该文件已经拷贝到/usr/local/lib目录中,BLAS库安装完成


    4、编译LAPACK

    打开终端,cd到LAPACK的目录,然后需要将文件make.inc.example重命名为make.inc。然后在终端里面输入make回车,等待编译完成。编译完成后会在目录中生成两个文件liblapack.a和libtmglib.a。然后使用cp命令将这两个.a文件拷贝到/usr/local/lib目录,命令如下:

    sudo cp/home/liminlu/3rdPart/lapack-3.4.2/liblapack.a /usr/local/lib
    sudo cp /home/liminlu/3rdPart/lapack-3.4.2/libtmglib.a/usr/local/lib

              至此,LAPCAK库也安装完成,SHTOOLS所需要的三个库都已经安装,安装目录如下:


    5、编译SHTOOLS

    编译SHTOOLS之前需要修改几个Makefile文件中的内容。分别是根目录下的Makefile,第55行修改为:

    	F95 = gfortran

    src目录下的Makefile,第26行,修改为:

    	F95 = gfortran

    examples目录下的Makefile,第15行,修改为:

    	F95 = gfortran

    修改完上面的三个文件保存,然后打开终端,cd到SHTOOLS目录,直接输入make回车,如下图:


    等待编译完成,完成后会提示下面的信息:


    编译完成后,直接输入下面的命令编译SHTOOLS中的例子:

    make examples

     

    例子编译完成后会输出下面的信息。


    至此,所有的步骤编译完成。

  • 相关阅读:
    Mysql中use filesort的误区
    Windows双系统
    Java visualvm
    软件设计师06-数据结构
    安装VMware14可能出现的问题
    计算机硬件系统
    Web漏洞扫描
    crunch制作字典
    kali之HexorBase数据库破解
    memcahce 介绍以及安装以及扩展的安装
  • 原文地址:https://www.cnblogs.com/xiaowangba/p/6313943.html
Copyright © 2020-2023  润新知