本人从事海洋地球物理专业,长期使用GMT这个专业画图软件。但是最近刚入手两台mac,台式和笔记本,分别需要安装GMT。在安装最新版GMT6的过程中出现几个问题,和大家分享一下,如有雷同,可以借鉴以解决问题(点击此处请转入完美安装步骤,可少走如我走过的弯路)。
第一次错误安装
首先安装台式机的时候,是使用gmt中文网的安装方法(如windows一般的一键式安装)
下载GMT6的formula后执行:
brew install --HEAD gmt6.rb
安装成功后GMT6运行正常,并且最后能够导出pdf格式图件。但是过了几天突然弹出错误psconvert命令错误(可能和我这几天里安装的其他软件有冲突,具体已不可考)。大家知道,GMT6以后就不再使用psconvert命令了,怎么会有这种错误提示呢?反复检查后无果决定:
brew uninstall gmt
卸载后(能力有限,只能靠这招了),我再按照GitHub网站上的gmt安装方式重新安装,以期解决问题,结果问题并没有解决。那一天晚上我决定先睡觉明天再说。
第二天我就发现,可能是我的ghostscript有问题,因为GMT出图需要用到ghostscript。果然,一猜就中。于是我立马安装好了ghostscript,心想这回总没问题了。
第二次错误安装
没错,又出现了新的问题。psconvert不再提示,并且pdf格式的图件导出正常,但是缺少了海岸线,并且有一下error提示:
pscoast [ERROR]: 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/.
pscoast [ERROR]: Could not find file [GSHHG low resolution shorelines]
很明显,这次是pscosat命令出现了问题。我按照错误提示下载了GSHHG海岸线数据库,并且在gmt/share文件夹中加入了coast文件夹以及数据库,并且添加了GSHHG_PATH
的环境变量,打开bash_profile文件vim ~/.bash_profile
并添加相应的路径如下:
bash export GSHHG_PATH="../gmt/share/coast:${GSHHG_PATH}"
source ~/.bash_profile
echo $GSHHG_PATH
/Users/***/gmt/share/coast
按理说数据库已经添加了,不应该再错,但是事实上没有任何变化。但我从头至尾认为是环境变量设置的问题,尝试各种办法都失败了。这是也是我写走过帖子的重要原因,希望有同样问题的小伙伴可以借鉴,否则钻进死胡同里就很尴尬了。
在本人师兄九天学者的帮助下,我再次重装了GMT。但是,这次属于修复性的安装,不是完全的重装。
因为之前是根据GitHub网站安装的,所以在师兄指导下我先进入gmt/build文件夹,将其全部删除,如下:
bash rm -rf *
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=RelWithDebInfo .. >log
这里需要提一下,我把记录保存在了log文件中,我从文件中找到了GSHHG_PATH的路径是 -- Found GSHHG: /Users/***/gmt/share/gshhg。继续安装:
bash make -j 8
make install
然后形式就很明朗了~~~~
第三次安装错误
又过了两天,我准备给我的macbook pro也安装GMT6,我完全按照本贴最初建议的安装方式,并且没有安装GSHHG(就是这么爱玩)。毫无意外,同样的错误又出现了,只不过这次不需要慌张。我在安装记录log里面发现了
-- Could NOT find GSHHG (missing: GSHHG_PATH GSHHG_VERSION)
下载GSHHG数据库,添加环境变量就OK了。