官方ftp:ftp://ftp.soest.hawaii.edu/gmt
需要下載的包包括:
gmt-4.5.13-src.tar.bz2
gshhg-gmt-2.3.4.tar.gz
註:GMT中的triangulate命令有兩個不同的源碼,其中壹個遵循GPL協議,另壹個不遵循GPL協議。GMT的src包中包含了前者。若有特殊需求,需要使用後者源碼的功能,可以下載gmt-4.5.13-non-gpl-src.tar.bz2,並將解壓後的triangulate源碼覆蓋gmt-4.5.13-src.tar.bz2中的相應源碼。
依賴關系
基礎依賴包
GMT編譯過程需要C編譯器,以及壹些底層的庫文件。
對於Ubuntu/Debian:
sudo apt-get install gcc g++ make
sudo apt-get install libxt-dev libxaw7-dev libxmu-dev libSM-dev
對於CentOS/RHEL/Fedora:
sudo yum install gcc gcc-c++ make
sudo yum install libXt-devel libXaw-devel libXmu-devel libSM-devel zlib-devel
軟件依賴包
GMT4主要依賴於netCDF4,可以直接使用Linux發行版官方源中提供的netCDF包。除了netcdf之外,建議還安裝gdal包。雖然GMT不依賴於gdal,但gdal可以輕松地將其他數據格式轉換為GMT可識別的格式。
對於Ubuntu/Debian:
sudo apt-get install libnetcdf-dev libgdal1-dev
對於RHEL/CentOS/Fedora:
sudo yum install netcdf netcdf-devel gdal gdal-devel
註意:
壹定不要試圖自己手動編譯netCDF。如果在閱讀本文之前曾經手動編譯過,壹定要將原來手動編譯生成的文件刪除幹凈。通常可以使用locate netcdf,找到/usr/local目錄下的與netCDF相關的文件,直接刪除即可。
CentOS和RHEL的官方源中沒有netCDF,需要首先添加EPEL源再安裝netCDF;Fedora官方源中自帶netCDF;
安裝GMT
編譯GMT源碼
1
2
3
4
5
$ tar -jxvf gmt-4.5.13-src.tar.bz2
$ cd gmt-4.5.13
$ ./configure --prefix=/opt/GMT-4.5.13
$ make
$ sudo make install-all
其中--prefix指定了GMT安裝路徑,妳可以指定為其他路徑,但要註意後面其他步驟要與這裏的路徑統壹。
安裝海岸線數據
1
2
3
$ tar -zxvf gshhg-gmt-2.3.4.tar.gz
$ sudo mkdir /opt/GMT-4.5.13/share/coast
$ sudo cp -r gshhg-gmt-2.3.4/* /opt/GMT-4.5.13/share/coast/
修改環境變量
向~/.bashrc中加入GMT4的環境變量,並使環境變量生效:
1
2
3
4
$ echo 'export GMT4HOME=/opt/GMT-4.5.13' >> ~/.bashrc
$ echo 'export PATH=${GMT4HOME}/bin:$PATH' >> ~/.bashrc
$ echo 'export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${GMT4HOME}/lib64' >> ~/.bashrc
$ exec $SHELL -l
說明:
第壹個命令向~/.bashrc中添加環境變量GMT4HOME;
第二個命令修改~/.bashrc,將GMT4的bin目錄加入到PATH中;
第三個命令將GMT4的lib目錄加入到動態鏈接庫路徑中,若為32位系統,則為lib;64位系統則為lib64;
第四個命令是重新載入bash,相當於source ~/.bashrc。