GENERIC MAPPING TOOLS 6 インストール
はじめに
GMT(Generic Mapping Tools)はハワイ大学で開発され、全世界で広く利用されているフリーのマッピングソフトです。地図上に様々な情報を表示する多くの分野で利用されており、WindowsやMacでも動作するので便利です。
これまでは、Windows版(バッチファイル)を用いてGMTを用いてきましたが、Linux環境で作業することが増えてきたために、そちらでインストールしてスクリプトを充実させていきたいと考えています。
GMTの詳細については、
をご参照ください。
GMTインストール方法
Linux環境におけるインストール・ビルド方法について紹介します。
Windows 10 の WLS2 の Ubuntu 20.04 LTS にGMT6をビルド・インストールする方法について備忘録を兼ねて記録しておきます。なお、aptでもインストールできるようです。
依存パッケージのインストール
まずはじめに依存パッケージをインストールします。既にインストールされているものは飛ばされます。
sudo apt update
sudo apt upgrade -y
sudo apt install -y build-essential cmake libcurl4-gnutls-dev libnetcdf-dev gdal-bin libgdal-dev libfftw3-dev libpcre3-dev liblapack-dev libblas-dev libglib2.0-dev ghostscript ghostscript-x graphicsmagick ffmpeg xdg-utils
GMTのバージョンの設定
インストールを簡略化するためにバージョンをシェル変数として設定します。安定最新版に設定するのがよいと思いますが、最新版は以下から確認できます。
https://github.com/GenericMappingTools/gmt/releases
GMT_VERSION="6.1.1"
GSHHG_VERSION="2.3.7"
DCW_VERSION="1.1.4"
ソースコードのダウンロードと展開
ホームディレクトリ( /home/$USER/
とします。 $USER
にはホームディレクトリ名が設定されているはずです)以下に src
ディレクトリを作成し、wgetコマンドを用いてソースコードをダウンロードし、tarコマンドを用いて展開します。
mkdir src
cd src
wget "https://github.com/GenericMappingTools/gmt/releases/download/${GMT_VERSION}/gmt-${GMT_VERSION}-src.tar.gz"
wget "https://github.com/GenericMappingTools/gshhg-gmt/releases/download/${GSHHG_VERSION}/gshhg-gmt-${GSHHG_VERSION}.tar.gz"
wget "https://github.com/GenericMappingTools/dcw-gmt/releases/download/${DCW_VERSION}/dcw-gmt-${DCW_VERSION}.tar.gz"
tar xzvf gmt-${GMT_VERSION}-src.tar.gz
tar xzvf gshhg-gmt-${GSHHG_VERSION}.tar.gz
tar xzvf dcw-gmt-${DCW_VERSION}.tar.gz
GSHHGとDCWについては、 ~/src/
から ~/local/
に移動します。
mv gshhg-gmt-${GSHHG_VERSION} ../local/
mv dcw-gmt-${DCW_VERSION} ../local/
ビルド
以下のビルド用のスクリプト build_gmt.sh
を /home/$USER/src/
に作成します。
#!/bin/bash
# build_gmt.sh
GMT_VERSION="6.1.1"
GSHHG_VERSION="2.3.7"
DCW_VERSION="1.1.4"
GSHHG_ROOT=/home/$USER/local/gshhg-gmt-${GSHHG_VERSION}
DCW_ROOT=/home/$USER/local/dcw-gmt-${DCW_VERSION}
cd gmt-${GMT_VERSION}
cat ./cmake/ConfigUserTemplate.cmake | \
sed -e 's%\#set (GSHHG_ROOT "gshhg_path"%'"set (GSHHG_ROOT ${GSHHG_ROOT}"'%g' | \
sed -e 's/\#set (COPY_GSHHG FALSE)/set (COPY_GSHHG TRUE)/g' | \
sed -e 's%\#set (DCW_ROOT "dcw-gmt_path"%'"set (DCW_ROOT ${DCW_ROOT}"'%g' | \
sed -e 's/\#set (COPY_DCW FALSE)/set (COPY_DCW TRUE)/g' \
> ./cmake/ConfigUser.cmake
mkdir build
このスクリプト build_gmt.sh
を source
で実行します。source
で実行することで,ディレクトリ移動がスクリプトを実行したときのシェルにも反映されます。なお、実行後のディレクトリは ~/src/gmt-6.1.1/
になります.
source build_gmt.sh
ビルド・インストールの実行
ディレクトリ build
に移動し,ビルド・インストールします.-j4
は4コアを利用してビルドするオプションで,実際のコア数を指定すると最も速くなります.
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=RelWithDebInfo ..
make -j4
sudo make install
実行形式は /usr/local/bin/
にコピーされます.この場合,PATH 等の追加は不要です.
おわりに
ここでは、UbuntuへのGMTインストール方法について纏めました。GMT6になって変わった点も多くありそうですので、最初は苦労しそうですがここで備忘録代わりに整理していきたいと思います。