#Introduction
地球科学分野でよく使われるGMT(gmt generic mapping tools)
普段は5.x使ってるけど、動かなかったりしたら怖いとかの理由でGMT4.xと5.xを共存させたいことがあると思う。
そんな時簡単に切り替えられるように構築するための手順を書いておく。
方針としてはそれぞれのバージョンの名前をつけたディレクトリを/usr/local配下に配置して使うバージョンのシンボリックリンクを/usr/local/GMTにはり、
それにパスを通す。
バージョンが変わることによってこの手順が古くなることもあると思うので
より詳しく・正確な情報は公式web( http://gmt.soest.hawaii.edu/home )を参照すること。
#4.xの導入
まずは4.5.12をダウンロードする。
ダウンロード先は東海大学のミラーサイトが早いと思う。
$wget "ftp://ftp.scc.u-tokai.ac.jp/pub/gmt/gmt-4.5.12-src.tar.bz2"
$tar xf gmt-4.5.12-src.tar.bz2
次にコンパイルしてインストールする。
更に細かいオプション指定したい場合は「./configure --help」で確認。
また、manとかも入れたいのでinstall-allとしたがここも適宜変更すること。
また、netcdfが入ってなかったらapt-getなりで導入する。(パッケージはlibnetcdf-dev)
$cd gmt-4.5.12/
$./configure --prefix=/usr/local/GMT-4.5.12
$make all
$sudo make install-all
インストールができたら/usr/local/GMT-4.5.12から/usr/local/GMTにシンボリックリンクを貼る。
$sudo ln -s /usr/local/GMT{-4.5.12,}
念の為動作確認をする。
$export PATH=/usr/local/GMT/bin/:$PATH
$gmtdefaults -D | head
これで正常にバージョンなどがごちゃごちゃ表示されたら成功。
#5.xの導入
次に5.1.1をダウンロードする。
$cd ~
$wget "ftp://ftp.scc.u-tokai.ac.jp/pub/gmt/gmt-5.1.1-src.tar.bz2"
$tar xf gmt-5.1.1-src.tar.bz2
$cd gmt-5.1.1/
4.xの時はconfigureだったが、5.xからはcmakeを使うように変更された
設定のテンプレートファイルがあるのでそれをConfigUser.cmake
という名前にしてそれをvimなど好きなエディタで編集する。
$cp cmake/ConfigUser{Template,}.cmake
$vim cmake/ConfigUser.cmake
とりあえずprefixだけ以下のようになるように直したが、
こちらも各人好みでさらに編集する。
$diff cmake/ConfigUser{Template,}.cmake
41c41
< #set (CMAKE_INSTALL_PREFIX "prefix_path")
---
> set (CMAKE_INSTALL_PREFIX "/usr/local/GMT-5.1.1")
あとはbuildディレクトリを作ってそこでコンパイル・インストールする。
$mkdir build
$cd build
$cmake ../
$make all
$make install
これで一応導入されたので
シンボリックリンクを張り替えてきちんと動作するか確認する。
$sudo ln -snf GMT{-5.1.1,}
$export PATH=/usr/local/GMT/bin/:$PATH
$gmtdefaults -D | head
このとき5.1.1のバージョンに変わっていれば成功。
#共存設定
ということであとはパスをちゃんと通して
ターミナルを開いた時に適応されるようにする。
$cd ~
$echo 'export PATH=/usr/local/GMT/bin/:$PATH' >> .bashrc
$echo 'export MANPATH=/usr/local/GMT/share/man/:$MANPATH' >> .bashrc
わたしは個人的にしか使わないので.bashrcに追記したが、
必要に応じてリダイレクト先を変えること。
これでとりあえずできた。
また、切り替えのために以下のようなスクリプトを用意しておくと便利である。
case $1 in
4)sudo ln -snf /usr/local/GMT{-4.5.12,};;
5)sudo ln -snf /usr/local/GMT{-5.1.1,};;
esac
gmtdefaults -D | head
さらに頻繁に切り替えを行う場合は.bashrcなどにコマンドのエイリアスを貼っておくと更に使い勝手が良くなるだろう。