|||
GMT安装方法有好几种:(1)从官方发布的二进制文件安装;(2)在Mac, Linux系统下有自动安装命令;(3)从源码编译安装。第三种方法有利于体验最新版(开发版)的新功能,因为官方发布的稳定版本往往会比开发版晚很多!方便进行同步更新;有利于二次开发,加入自己的功能或者做一定的修改!
注意:如果你是Linux 0基础,读起来可能有点费劲。作者时间有限,只列出了每一步的命令代码,并没有详细讲解为什么要用这些命令!对于Linux基础知识,请自行Google学习一下
根据gmt官方说明首先安装所需的库
编译工具包括gcc, g++, gfortran, make, cmake。首先在终端查看诸工具是否已经安装:比如gcc --version
,如果没有安装或者不够新,可使用自动安装命令安装之,比如: sudo apt-get install g++
。
但是CMake貌似不能用apt-get安装,下面给出从源码安装最新版cmake的方法
解压:tar -zxvf cmake-3.13.0-rc1.tar.gz
配置:make build
, cd build
, ../configure --prefix=/usr/local
make
make install
安装 sudo apt-get install m4
解压:tar xvf hdf5-1.8.20.tar
configure:mkdir build
cd build
../configure --prefix=/usr/local
make
... 等待 ....
make install
or sudo make install
因为编译netcdf需要用到curl的源码,我喜欢从源码安装。如果后面make netcdf的时候出现错误,可以尝试将从apt-get安装的curl卸载掉:
sudo apt-get autoremove curl
解压:tar -zxvf curl-7.61.1.tar.gz
config: mkdir build
cd build
../configure --prefix=/usr/local
make: make
install: make install
此时如果再不提示缺什么库的话,应该会顺利通过。如果缺什么库,编译过程中会提示缺什么,继续安装所缺库即可
解压: tar -zxvf netcdf-4.6.1.tar.gz
mkdir build
mkdir bin
cd build
../configure --prefix=/usr/local
或者其他的什么你想安装到的目录
make
... 等待 ...
make install
解压:tar -zxvf gdal-2.3.2.tar.gz
config: cd gdal-2.3.2
../configure --prefix=/usr/local
注意:直接在主目录下面配置和make,不要创建build目录,不然会出现没有make目标的错误。
make: make
此过程等待时间非常长....
install: make install
解压:tar -zxvf pcre-8.42.tar.gz
config: mkdir build
cd build
../configure --prefix=/usr/local
make: make
install: make install
出现了几个警告:
libtool: warning: relinking 'libpcreposix.la'
,libtool: warning: relinking 'libpcrecpp.la'
先不管
解压:tar -zxvf blas-3.8.0.tgz
编译生成libblas.so:gfortran -shared -O2 *.f -o libblas.so -fPIC
添加环境变量到~/.zshrc
: export LIBPATH=/mnt/d/Research/gmt/library/BLAS-3.8.0/libblas.so:$LIBPATH
解压:tar -zxvf lapack-3.8.0.tar.gz
拷贝make.inc:cp make.inc.example make.inc
添加-fPIC
到OPTS
和NOOPT
OPTS = -O2 -frecursive fPICDRVOPTS = $(OPTS)NOOPT = -O0 -frecursive fPIC
修改lib名称
BLASLIB = ../../librefblas.soLAPACKLIB = liblapack.so
修改SRC/makefile
将
../$(LAPACKLIB): $(ALLOBJ) $(ARCH) $(ARCHFLAGS) $@ $(ALLOBJ) $(RANLIB) $@
改为
../$(LAPACKLIB): $(ALLOBJ) $(LOADER) $(LOADOPTS) -shared -Wl,-soname,liblapack.so -o $@ $(ALLOBJ) ../librefblas.so
修改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
make
make blaslib make lapacklib
添加环境变量: 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
sudo apt-get install libomp-dev
解压:tar -zxvf fftw-3.3.8.tar.gz
配置:make build
, cd build
, ../configure --prefix=/usr/local
make
make install
sudo apt-get update
sudo apt-get install ghostscript
下载
设置路径: 环境变量
GSHHG_PATH
DCW_PATH
mkdir buildcd buildcmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=RelWithDebInfo ..make -j
主要的命令列举如下
查看目前的远程仓库地址:git remote -v
添加官方仓库:git remote add upstream https://github.com/GenericMappingTools/gmt.git
其中upstream是官方仓库,orgin是你fock之后存在你自己的github账户里的仓库
拉取官方仓库更新:git fetch upstream
切换到自己的分支,比如master:git checkout master
与官方更新合并:git merge upstream/master
修改远程push仓库地址:git remote set-url origin xxxx.git
删除远程仓库地址:git remote rm origin
如果发现在终端不能直接用
gmt
命令,每次在终端输入gmt会出现这个错误:fatal: Not a git repository (or any of the parent directories): .git
,那是因为安装了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一下或者重新打开一下终端就好了。 Mac系统下也是一样的操作!
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-25 11:13
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社