参考官网:http://gmt.soest.hawaii.edu/projects/gmt/wiki/BuildingGMT
1.下载源代码,海岸线数据,边境线数据等
需要下载三个包: GMT,GSSHG,DCW
GMT包的下载,官网是推荐用subversion下的,命令是
svn checkout svn://gmtserver.soest.hawaii.edu/gmt5/trunk gmt5-dev
下载下来就是个文件夹。如果没有这个命令,可以安装一个(sudo apt-get install subversion)我把它放在了$HOME下,放其他地方也可以,反正装完可以删掉。
GSSHG,DCW的下载地址都是在ftp://ftp.soest.hawaii.edu/上,找到gshhg/gshhg-gmt-x.x.x.tar.gz和dcw/dcw-gmt-x.x.x.tar.gz。解压缩的命令是: tar -xzf x.tar.gz,解压缩了也是两个文件夹。
现在我们有三个文件夹,下面就要开始安装了。
2. 安装
但是在编译安装GMT的源代码前,我们还需要安装一些其他的东西。
比如说ghostscript,netCDF这两个在Windows下安装GMT也需要预安装的软件,还有CMake,用来编译GMT源代码,还有一些其他的东西,比如Texlive什么的,反正也不大,我全都装了。
sudo apt-get install ghostscript build-essential cmake libnetcdf-dev libgdal1-dev libfftw3-dev libpcre3-dev
sudo apt-get install GraphicksMagick
sudo apt-get install texlive texlive-latex-extra
sudo apt-get install python-sphinx
好了,安装完这些东西后,可以开始编译GMT了吗?不行,我们还要做些设置。找到之前下载的 gmt5-dev文件夹
cd /gmt5-dev/cmake
cp ConfigUserTemplate.cmake ConfigUser.cmake
vi ConfigUser.cmake
修改GMT的安装路径
set (CMAKE_INSTALL_PREFIX [GMT安装的路径,随你喜欢,几个推荐:/opt/gmt,/usr/local/gmt,默认为usr/local(不推荐)])
告诉编译程序哪里去找gshhg和dcw
set (GSHHG_ROOT )
set (DCW_ROOT )
官方Wiki中还有一个set FLOCK TRUE的选项,我没有找到,也没有做,不过GMT安装后使用没问题。
安装,记得用超级用户的权限,否则可能会出错
cd /gmt5-dev
mkdir build
cd build
sudo cmake ..
sudo make
sudo make install
生成pdf,html版的manual
sudo make docs_man
sudo make docs_html
sudo make docs_pdf
sudo make install
3.测试例子
GMT提供了很多例子供测试。在/share/doc/examples,其中代表的是你安装GMT的路径,在CMAKE_INSTALL_PREFIX后设置的。
cd ex01; ./example_01.sh; evince example_01.ps
当然你可能出现找不到命令的问题。解决办法有:
添加/bin到你的环境变量PATH中去。比如vi ~/.bashrc,然后添加
export PATH=”$PATH:/bin”
在最后一行,保存退出,然后重新打开一个终端。这时如果你输入echo $PATH,可以看到/bin已经出现在PATH中了。
改变examples文件夹的所有权。如果你按上面的步骤安装,examples的所有权应该是root的。让我们把它改成我们,比如你的用户名叫user1,用sudo chown -R /share/doc/examples user1就可以了。
这样之后应该就可以正常的使用GMT了。
4.自己遇到的问题
参考网址: http://blog.163.com/jey_df/blog/static/18255016120136109288241/
$grdlandmask -R0/360/-90/90 -I1 -Df -Gseamask.grd -N0/1
grdlandmask: GSHHG version 2.2.0 or newer is needed to use coastlines with GMT.
Get and install GSHHG from ftp://ftp.soest.hawaii.edu/gshhg/.
grdlandmask: Could not find file [GSHHG full resolution shorelines]
$which grdlandmask /usr/local/bin/grdlandmask
发现与自己安装的目录不一致,所以一直错误…… 修改安装路径,直接注释掉#set (CMAKE_INSTALL_PREFIX “/usr/local/gmt”),会默认安装到/usr/local/bin. 重新编译安装,覆盖原来的程序即可.