博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在ubuntu下编译安装gmt
阅读量:6427 次
发布时间:2019-06-23

本文共 3160 字,大约阅读时间需要 10 分钟。

根据gmt首先安装所需的库

前戏:安装所需库

  1. 解压:tar -zxvf cmake-3.13.0-rc1.tar.gz
  2. 配置:make build, cd build, ../configure --prefix=/usr/local
  3. make
  4. make install

netCDF依赖库

m4

安装 sudo apt-get install m4

  1. 解压:tar xvf hdf5-1.8.20.tar
  2. configure:mkdir build cd build ../configure --prefix=/usr/local
  3. make
    ... 等待 ....
  4. make install or sudo make install

因为编译netcdf需要用到curl的源码,我喜欢从源码安装。如果后面make netcdf的时候出现错误,可以尝试将从apt-get安装的curl卸载掉:sudo apt-get autoremove curl

  1. 解压:tar -zxvf curl-7.61.1.tar.gz
  2. config: mkdir build cd build ../configure --prefix=/usr/local
  3. make: make
  4. install: make install

此时如果再不提示缺什么库的话,应该会顺利通过。如果缺什么库,编译过程中会提示缺什么,继续安装所缺库即可

安装netCDF

  1. 解压: tar -zxvf netcdf-4.6.1.tar.gz
  2. mkdir build mkdir bin
  3. cd build
  4. ../configure --prefix=/usr/local 或者其他的什么你想安装到的目录
  5. make
    ... 等待 ...
  6. make install

  1. 解压:tar -zxvf gdal-2.3.2.tar.gz
  2. config: cd gdal-2.3.2 ../configure --prefix=/usr/local 注意:直接在主目录下面配置和make,不要创建build目录,不然会出现没有make目标的错误。
  3. make: make
    此过程等待时间非常长....
  4. install: make install

  1. 解压:tar -zxvf pcre-8.42.tar.gz
  2. config: mkdir build cd build ../configure --prefix=/usr/local
  3. make: make
  4. install: make install

出现了几个警告:libtool: warning: relinking 'libpcreposix.la', libtool: warning: relinking 'libpcrecpp.la'先不管

  1. 解压:tar -zxvf blas-3.8.0.tgz
  2. 编译生成libblas.so:gfortran -shared -O2 *.f -o libblas.so -fPIC
  3. 添加环境变量到~/.zshrc: export LIBPATH=/mnt/d/Research/gmt/library/BLAS-3.8.0/libblas.so:$LIBPATH

  1. 解压:tar -zxvf lapack-3.8.0.tar.gz
  2. 拷贝make.inc:cp make.inc.example make.inc
  3. 添加-fPICOPTSNOOPT
OPTS    = -O2 -frecursive fPICDRVOPTS = $(OPTS)NOOPT   = -O0 -frecursive fPIC
  1. 修改lib名称
BLASLIB = ../../librefblas.soLAPACKLIB = liblapack.so
  1. 修改SRC/makefile
../$(LAPACKLIB): $(ALLOBJ)    $(ARCH) $(ARCHFLAGS) $@ $(ALLOBJ)    $(RANLIB) $@

改为

../$(LAPACKLIB): $(ALLOBJ)    $(LOADER) $(LOADOPTS) -shared -Wl,-soname,liblapack.so -o $@ $(ALLOBJ) ../librefblas.so
  1. 修改BLAS/SRC/Makefile
$(BLASLIB): $(ALLOBJ)    $(ARCH) $(ARCHFLAGS) $@ $(ALLOBJ)    $(RANLIB) $@

改为

$(BLASLIB): $(ALLOBJ)    $(LOADER) $(LOADOPTS) -z muldefs -shared -Wl,-soname,librefblas.so -o $@ $(ALLOBJ)

如果你没有g77编译器,请将第2步拷贝的make.inc文件中的两个g77更换为你的fortran编译器比如gfortran

  1. make
make blaslibmake lapacklib
  1. 添加环境变量: export LIBPATH=/mnt/d/Research/gmt/library/BLAS-3.8.0/libblas.so:/mnt/d/Research/gmt/library/lapack-3.8.0/liblapack.so:$LIBPATH

安装OpenMP库

sudo apt-get install libomp-dev

  1. 解压:tar -zxvf fftw-3.3.8.tar.gz
  2. 配置:make build, cd build, ../configure --prefix=/usr/local
  3. make
  4. make install

Ghostscript

sudo apt-get update

sudo apt-get install ghostscript

配置数据

下载

设置路径: 环境变量

  1. GSHHG_PATH
  2. DCW_PATH

编译gmt

mkdir buildcd buildcmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=RelWithDebInfo ..make -j

保持与官方仓库同步更新(针对二次开发者)

  1. 查看目前的远程仓库地址:git remote -v
  2. 添加官方仓库:git remote add upstream https://github.com/GenericMappingTools/gmt.git
    其中upstream是官方仓库,orgin是你fock之后存在你自己的github账户里的仓库
  3. 拉取官方仓库更新:git fetch upstream
  4. 切换到自己的分支,比如master:git checkout master
  5. 与官方更新合并:git merge upstream/master
  6. 修改远程push仓库地址:git remote set-url origin xxxx.git
  7. 删除远程仓库地址:git remote rm origin

如果发现在终端不能直接用gmt命令,那是因为安装了git的插件的原因。一般这个是由于on my zsh引起的,gmt这个词被定义为了 alias g./home/zguo/.oh-my-zsh/plugins/git/git,定义的文件为:/home/zguo/.oh-my-zsh/plugins/git/git.plugin.zsh,找到这个文件打开之后把这一行注释掉,然后重新source一下或者重新打开一下终端就好了。

转载地址:http://wpfga.baihongyu.com/

你可能感兴趣的文章
贪婪大陆
查看>>
Extra:Variable Types
查看>>
IOS中定时器NSTimer的开启与关闭
查看>>
网络性能排查
查看>>
js传参时,没有参数传入,默认值的设置
查看>>
单页面应用的痛点
查看>>
第7课 - 变量的高级主题(下)
查看>>
创建MVC3项目出现错误—NuGet Package Manager is missing or out of date.
查看>>
[ios]ios-Demo4脱衣服/刮奖app-专业
查看>>
数据库SQLServer连接字符串的使用方法
查看>>
排序功能的方法
查看>>
[BZOJ 1017][JSOI2008]魔兽地图DotR(树形Dp)
查看>>
python连接hbase
查看>>
ReaderWriterLock
查看>>
centos 7.0 网卡配置及重命名教程
查看>>
vim使用手册
查看>>
ssh (安全外壳协议)
查看>>
冒泡排序
查看>>
ios-runtime
查看>>
eclipse部署时候不拷jar包到web-inf下面的lib目录解决办法
查看>>