LoginSignup
3
3

More than 5 years have passed since last update.

GMT4.xとGMT5.xを簡単に共存させるためのインストール手順

Posted at

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などにコマンドのエイリアスを貼っておくと更に使い勝手が良くなるだろう。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3