Install GMT 5.2.1 on CentOS 7

Table of Contents

GMT 5.2.1 からは読み込むデータに合わせてコンターの範囲を自動設定するという画期的な機能(makecptの-Eオプション)が追加されました.そこで早速インストールを試みたのですが,いろいろ苦労しました.そこで,GMT 5.2.1 のインストールの備忘録を記します.
まず,Anacondaとここの記事にあるgdal,fiona,basemap,shapely,descartesがインストール済であることを前提にします.以前,yum install gdal-develでインストールしたとき,原因不明ですが,再起動をかけるとCentOSが立ち上がらなくなるというトラブルに見舞われました.また,yum install GMT gshhg-gmt-nc4-all dcw-gmtでインストールできることになっていますが,これもうまく行きませんでした.そこで,cmakeでbuildします.
まず,pcre-develとfftw3-develをインストールします.これはyumで問題ありませんでした.
[cc]
# yum install pcre-devel fftw3-devel
[/cc]
GMT 5.2.1のソースコードをダウンロードし,解凍します.解凍したディレクトリをカレントディレクトリとします../cmake/ConfigUserTemplate.cmakeを./cmake/ConfigUser.cmakeにコピーし,中身を以下のように編集します.他はそのままでよいようです.
[cc]
set (CMAKE_INSTALL_PREFIX "/usr/local/gmt/5.2.1")
set (GSHHG_ROOT "/usr/local/gmt/gshhg-gmt-2.3.4")
set (DCW_ROOT "/usr/local/gmt/dcw-gmt-1.1.2")
[/cc]
また,あらかじめgshhg-gmt-2.3.4.tar.gzとdcw-gmt-1.1.2.tar.gzを上記で設定したディレクトリにコピーし,展開しておきます.
[cc]
# mkdir /usr/local/gmt/5.2.1
# cp dcw-gmt-1.1.2.tar.gz /usr/local/gmt
# cp gshhg-gmt-2.3.4.tar.gz /usr/local/gmt
# cd /usr/local/gmt
# tar xvzf dcw-gmt-1.1.2.tar.gz
# tar xvzf gshhg-gmt-2.3.4.tar.gz
[/cc]
再びGMT 5.2.1のソースコードを解凍したディレクトリに戻ります.そして,buildディレクトリを作って,ビルドします.
[cc]
$ mkdir build
$ cd build
$ cmake ../
$ make all
# make install
[/cc]
cmake ../ では最後にWarningが出るかもしれませんが,.pyenv以下の隠しディレクトリにあるgdalライブラリ等を参照できないかもしれないという警告のようです.これはPythonのpyenvをインストールしたディレクトリで隠しディレクトリになっていますが,実際には特に問題ないようです.
最後にPATHを設定して終わりです.~/.bashrcに以下を追記します.
[cc]
# GMT 5.2.1
export PATH=$PATH:/usr/local/gmt/5.2.1/bin
export MANPATH=$MANPATH:/usr/local/gmt/5.2.1/share/man/
[/cc]
念のため一度logoutしてからloginし,インストールが成功しているか確認してみます.
[cc]
$ gmt --version
[/cc]
5.2.1 と表示されれば成功です.
もし,古いバージョン,例えば,5.1.2がインストールされていたとしても,PATHから消しておけば問題ありません.PATHから消去した後は念のためlogoutしてからloginしておきます..bashrcを読み込み直すだけでは消したはずのPATH設定が消えていないことがあります.これはlogin時に読み込まれる設定がlogoutするまで生き残ってしまうためのようです.

Install GMT 5.2.1 on CentOS 7” に対して1件のコメントがあります。

  1. 真田一志 より:

    epelを使うと、yumで一発インストールができました。バージョンは5.4.1です。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください