Ubuntu 20.04 LTS に GMT 6 をインストール

Table of Contents

GMT 6 は地域科学,地球科学系で人気の高いプロットツールで,印刷原稿クオリティの最も美しい図が描ける,すばらしいソフトです.
Windows 10 Pro の WLS2 の Ubuntu 20.04 LTS にビルド・インストールしたときの備忘録です.こちらを参考にさせていただきました.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のバージョンの設定

インストールを楽にするため,バージョンをシェル変数(シェル内のみ有効)として設定しておきます.最新版を調べてそれを設定するのがよいでしょう.以下は2021年3月23日時点の最新版です.

GMT_VERSION="6.1.1"
GSHHG_VERSION="2.3.7"
DCW_VERSION="1.1.4"

ソースコードのダウンロードと展開

ホームディレクトリ( /home/$USER/ とします. $USER にはホームディレクトリ名が設定されているはずです)以下に src ディレクトリを作成し,ソースコードをダウンロードし,展開します.

# ホームディレクトリで作業
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/ に移動します.以降はこれらが ~/local/ 以下に存在することを前提とします.GMTのスクリプト実行時にGSHHG等が見つからない,といった不整合を避けるため,要注意です.

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.shsource で実行します.sudo は付けません.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 等の追加は不要です.

参考資料

コメントを残す

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

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