Takuya Miyashita
This site
Web
Start:
*GMT のインストール [#y6a8f240]
#contents
~
GMT (Generic Mapping Tools) のインストール. 5 以降のバー...
~
**sourceファイルからビルド [#v3e40c01]
***GMT 本体以外のデータセット [#g703a68d]
[[NetCDF4のインストール>../Install_NetCDF]]が済んでいない...
sourceファイルのダウンロードは [[GMT Release Files>http:/...
【追記 2020年11月】ダウンロードのサイトが変わっていた.[[...
dcw-gmt-1.1.4.tar.gz
gmt-5.4.3-src.tar.gz # 本体
gshhg-gmt-2.3.7.tar.gz
の3つの.tar.gzをダウンロードした.~
dcw と gshhg については解凍したものを /opt/ に置き,リン...
#codeprettify{{
tar -zxf dcw-gmt-1.1.4.tar.gz
tar -zxf gshhg-gmt-2.3.7.tar.gz
sudo mv dcw-gmt-1.1.4 /opt/
sudo mv gshhg-gmt-2.3.7 /opt/
cd /opt
sudo ln -s dcw-gmt-1.1.4 dcw
sudo ln -s gshhg-gmt-2.3.7 gshhg
}}
~
~
*** GMT 5 [#yd36f5f1]
解凍した GMT 本体のソースディレクトリ内で以下のように cma...
#codeprettify{{
tar -zxf gmt-5.4.4-src.tar.gz
cd gmt-5.4.4
cp -p cmake/ConfigUserTemplate.cmake cmake/ConfigUser.cmake
}}
次に,コピーした ConfigUser.cmake でインストールするパス...
デフォルト設定がファイル内に書いてあるので,変更したい場...
となっている部分のコメントを外す.NetCDF4 のあるライブラ...
-cmake/ConfigUser.cmake
#codeprettify{{
# コメントを外した箇所だけ記載.下記以外は変更なしで実行...
##
## Section 1: Installation paths
##
# Installation path (usually defaults to /usr/local) [aut...
set (CMAKE_INSTALL_PREFIX "/usr/local/gmt")
##
## Section 2: Build dependencies (should only be needed i...
## automatically detect the rights version or path.)
##
# Set path to GSHHG Shoreline Database [auto]:
set (GSHHG_ROOT "/opt/gshhg") # ここに解凍したGSHHGのファ...
# Copy GSHHG files to $/coast [FALSE]:
set (COPY_GSHHG TRUE)
# Set path to DCW Digital Chart of the World for GMT [aut...
set (DCW_ROOT "/opt/dcw") # ここに解凍したDCWのファイルパ...
# Copy DCW files to $/dcw [FALSE]:
set (COPY_DCW TRUE)
# Set location of NetCDF (can be root directory, path to ...
# to nc-config) [auto]:
set (NETCDF_ROOT "/usr/local/netcdf4") # NetCDF4の root, ...
}}
NETCDF_ROOT は nc-config のパスが通っていれば自動で取得す...
~
このあと,
#codeprettify{{
mkdir build && cd build
cmake ..
}}
で preprocess が完了するはず.~
あとはいつも通りにビルド,インストールを行う.
#codeprettify{{
make
sudo make install
}}
バージョン 6.0.0 でも方法は同じで問題なかった.~
最後に,bin/gmt のシンボリックリンクをパスの通った場所に...
#codeprettify{{
$ gmt --version
5.4.4
}}
で確認する.
~
~
~
*** GMT 6.1 [#h9133178]
GMT 6.1.1 をクラスターの自分の環境にインストールした.~
基本的には GMT 5と同じ.~
cmake のファイルに普通の Template と AdvancedTemplate が...
cmake
├── ConfigDefault.cmake
├── ConfigUserAdvancedTemplate.cmake
├── ConfigUserTemplate.cmake
~
ConfigUserTemplate.cmake は GMT をインストールする prefix...
この設定を適用するためには GMT5 と同様に
#codeprettify{{
cp -p cmake/ConfigUserTemplate.cmake cmake/ConfigUser.cmake
}}
とコピーして,コピーした ConfigUser.cmake を書き換える.~
-cmake/ConfigUser.cmake
#codeprettify{{
# 1. Installation path (usually defaults to /usr/local) ...
set (CMAKE_INSTALL_PREFIX "/home/miyashita/local/gmt-6.1....
# 2. Install convenience links for GMT modules. Uncomme...
# to modules so you can run "module options" without ...
#set (GMT_INSTALL_MODULE_LINKS TRUE)
# 3a. Set full path to the GSHHG Shoreline Database direc...
set (GSHHG_ROOT "/cluster_tools/utility/gshhg-gmt-2.3.7")
# 3b. Copy GSHHG files to ${GMT_DATADIR}/coast [TRUE]?:
#set (COPY_GSHHG FALSE)
# 4a. Set full path to the DCW Digital Chart of the World...
set (DCW_ROOT "/cluster_tools/utility/dcw-gmt-2.0.0")
# 4b. Copy DCW files to ${GMT_DATADIR}/dcw [TRUE]?:
#set (COPY_DCW FALSE)
}}
~
ConfigUserAdvancedTemplate.cmake はその他諸々の設定を行う...
同様にこれも ConfigUserAdvanced.cmake にコピーして編集す...
#codeprettify{{
cp -p cmake/ConfigUserAdvancedTemplate cmake/ConfigUserAd...
}}
NetCDF や FFTW を自動検出でなく,手動でパス指定したいとき...
-cmake/ConfigUserAdvanced.cmake
#codeprettify{{
##
## Section 2: Build dependencies (should only be needed i...
## automatically detect the rights version or path.)
##
# Set URL to GMT Data server [auto]:
#set (GMT_DATA_SERVER "data_server_url")
# Set location of NetCDF (can be root directory, path to ...
# to nc-config) [auto]:
set (NETCDF_ROOT "/cluster_tools/build_gnu/netcdf-c-4.7.4")
# Set location of GDAL (can be root directory, path to he...
# gdal-config) [auto]:
set (GDAL_ROOT "/home/miyashita/local/src/gdal-3.5.0/bin")
# Set location of GEOS (can be root directory, path to he...
# geos-config) [auto]:
set (GEOS_ROOT "/home/miyashita/local/src/geos-3.5.2/bin")
# Set location of PCRE (can be root directory, path to he...
# pcre-config) [auto]:
#set (PCRE_ROOT "pcre_install_prefix")
# Alternatively, set location of PCRE2 (can be root direc...
# pcre2-config) [auto]:
#set (PCRE2_ROOT "pcre2_install_prefix")
# Set location of single precision FFTW (can be root dire...
# header file) [auto]:
set (FFTW3_ROOT "/home/miyashita/local/src/fftw-3.3.9")
}}
~
あとはお決まりのパターン.
#codeprettify{{
mkdir build && cd build
cmake ..
}}
cmake のときに geos のパスを指定しても,include だけ反映...
その場合は下記のようにライブラリのパスを cmake のオプショ...
#codeprettify{{
cmake .. -DGEOS_LIBRARY:FILEPATH=/home/miyashita/local/sr...
}}
その後は通常の make の流れ.
#codeprettify{{
make
make install
}}
今回は自分の local のインストールなので make install に s...
~
実は,apt で gmt 本体はインストールせず下のように dcw や ...
#codeprettify{{
sudo apt install gmt-dcw gmt-gshhg gmt-gshhg-full gmt-gsh...
}}
この場合 dcw や gshhg は /usr/share/ に入る.
~
~
*** GMT 6.5.0 [#yc2114c0]
6.1と同様に cmake にあるテンプレートをコピーして,各種ラ...
#codeprettify{{
cp -p ConfigUserTemplate.cmake ConfigUser.cmake
cp -p ConfigUserAdvancedTemplate.cmake ConfigUserAdvanced...
}}
以下は研究室のクラスター計算機で設定したときのファイルの...
- ConfigUser.cmake
#codeprettify{{
# 1. Installation path (usually defaults to /usr/local) ...
set (CMAKE_INSTALL_PREFIX "/home/miyashita/local")
}}
#codeprettify{{
# 3a. Set full path to the GSHHG Shoreline Database direc...
set (GSHHG_ROOT "/cluster_tools/utility/gshhg-gmt-2.3.7")
# 3b. Copy GSHHG files to ${GMT_DATADIR}/coast [TRUE]?:
#set (COPY_GSHHG FALSE)
# 4a. Set full path to the DCW Digital Chart of the World...
set (DCW_ROOT "/cluster_tools/utility/dcw-gmt-2.0.0")
# 4b. Copy DCW files to ${GMT_DATADIR}/dcw [TRUE]?:
#set (COPY_DCW FALSE)
}}
~
- ConfigUserAdvanced.cmake
#codeprettify{{
# Set location of GDAL (can be root directory, path to he...
# gdal-config) [auto]:
set (GDAL_ROOT "/cluster_tools/build_gnu/gdal-3.4.1")
}}
#codeprettify{{
# Set location of single precision FFTW (can be root dire...
# header file) [auto]:
set (FFTW3_ROOT "/home/miyashita/local")
}}
なんとか-config 系のコマンドや pkgconfig のパスがしっかり...
cmake のファイルの中でちゃんと場所を指定しても libfftw3f....
あとは cmake コマンドでなんとかする.
#codeprettify{{
mkdir build
cd build
cmake ..
}}
Ninja というビルドツールがあると
#codeprettify{{
cmake .. -G Ninja
}}
としたほうが速く終わるらしい.なくても可.~
#codeprettify{{
cmake --build .
cmake --build . --target install
}}
~
~
~
**バイナリをインストール[#b941f02b]
こちらは NetCDF4 がなくてもインストールできた.~
もちろん pscoast や grdview などは NetCDF4 がインストール...
#codeprettify{{
sudo apt install gmt gmt-doc gmt-dcw gmt-gshhg gmt-gshhg-...
}}
この方法を採用すると,
#codeprettify{{
/usr/bin/gmt # gmtのバイナリ実行ファイル
/usr/share/gmt-dcw # dcw
/usr/share/gmt-gshhg # gshhg
}}
の構成になる.~
End:
*GMT のインストール [#y6a8f240]
#contents
~
GMT (Generic Mapping Tools) のインストール. 5 以降のバー...
~
**sourceファイルからビルド [#v3e40c01]
***GMT 本体以外のデータセット [#g703a68d]
[[NetCDF4のインストール>../Install_NetCDF]]が済んでいない...
sourceファイルのダウンロードは [[GMT Release Files>http:/...
【追記 2020年11月】ダウンロードのサイトが変わっていた.[[...
dcw-gmt-1.1.4.tar.gz
gmt-5.4.3-src.tar.gz # 本体
gshhg-gmt-2.3.7.tar.gz
の3つの.tar.gzをダウンロードした.~
dcw と gshhg については解凍したものを /opt/ に置き,リン...
#codeprettify{{
tar -zxf dcw-gmt-1.1.4.tar.gz
tar -zxf gshhg-gmt-2.3.7.tar.gz
sudo mv dcw-gmt-1.1.4 /opt/
sudo mv gshhg-gmt-2.3.7 /opt/
cd /opt
sudo ln -s dcw-gmt-1.1.4 dcw
sudo ln -s gshhg-gmt-2.3.7 gshhg
}}
~
~
*** GMT 5 [#yd36f5f1]
解凍した GMT 本体のソースディレクトリ内で以下のように cma...
#codeprettify{{
tar -zxf gmt-5.4.4-src.tar.gz
cd gmt-5.4.4
cp -p cmake/ConfigUserTemplate.cmake cmake/ConfigUser.cmake
}}
次に,コピーした ConfigUser.cmake でインストールするパス...
デフォルト設定がファイル内に書いてあるので,変更したい場...
となっている部分のコメントを外す.NetCDF4 のあるライブラ...
-cmake/ConfigUser.cmake
#codeprettify{{
# コメントを外した箇所だけ記載.下記以外は変更なしで実行...
##
## Section 1: Installation paths
##
# Installation path (usually defaults to /usr/local) [aut...
set (CMAKE_INSTALL_PREFIX "/usr/local/gmt")
##
## Section 2: Build dependencies (should only be needed i...
## automatically detect the rights version or path.)
##
# Set path to GSHHG Shoreline Database [auto]:
set (GSHHG_ROOT "/opt/gshhg") # ここに解凍したGSHHGのファ...
# Copy GSHHG files to $/coast [FALSE]:
set (COPY_GSHHG TRUE)
# Set path to DCW Digital Chart of the World for GMT [aut...
set (DCW_ROOT "/opt/dcw") # ここに解凍したDCWのファイルパ...
# Copy DCW files to $/dcw [FALSE]:
set (COPY_DCW TRUE)
# Set location of NetCDF (can be root directory, path to ...
# to nc-config) [auto]:
set (NETCDF_ROOT "/usr/local/netcdf4") # NetCDF4の root, ...
}}
NETCDF_ROOT は nc-config のパスが通っていれば自動で取得す...
~
このあと,
#codeprettify{{
mkdir build && cd build
cmake ..
}}
で preprocess が完了するはず.~
あとはいつも通りにビルド,インストールを行う.
#codeprettify{{
make
sudo make install
}}
バージョン 6.0.0 でも方法は同じで問題なかった.~
最後に,bin/gmt のシンボリックリンクをパスの通った場所に...
#codeprettify{{
$ gmt --version
5.4.4
}}
で確認する.
~
~
~
*** GMT 6.1 [#h9133178]
GMT 6.1.1 をクラスターの自分の環境にインストールした.~
基本的には GMT 5と同じ.~
cmake のファイルに普通の Template と AdvancedTemplate が...
cmake
├── ConfigDefault.cmake
├── ConfigUserAdvancedTemplate.cmake
├── ConfigUserTemplate.cmake
~
ConfigUserTemplate.cmake は GMT をインストールする prefix...
この設定を適用するためには GMT5 と同様に
#codeprettify{{
cp -p cmake/ConfigUserTemplate.cmake cmake/ConfigUser.cmake
}}
とコピーして,コピーした ConfigUser.cmake を書き換える.~
-cmake/ConfigUser.cmake
#codeprettify{{
# 1. Installation path (usually defaults to /usr/local) ...
set (CMAKE_INSTALL_PREFIX "/home/miyashita/local/gmt-6.1....
# 2. Install convenience links for GMT modules. Uncomme...
# to modules so you can run "module options" without ...
#set (GMT_INSTALL_MODULE_LINKS TRUE)
# 3a. Set full path to the GSHHG Shoreline Database direc...
set (GSHHG_ROOT "/cluster_tools/utility/gshhg-gmt-2.3.7")
# 3b. Copy GSHHG files to ${GMT_DATADIR}/coast [TRUE]?:
#set (COPY_GSHHG FALSE)
# 4a. Set full path to the DCW Digital Chart of the World...
set (DCW_ROOT "/cluster_tools/utility/dcw-gmt-2.0.0")
# 4b. Copy DCW files to ${GMT_DATADIR}/dcw [TRUE]?:
#set (COPY_DCW FALSE)
}}
~
ConfigUserAdvancedTemplate.cmake はその他諸々の設定を行う...
同様にこれも ConfigUserAdvanced.cmake にコピーして編集す...
#codeprettify{{
cp -p cmake/ConfigUserAdvancedTemplate cmake/ConfigUserAd...
}}
NetCDF や FFTW を自動検出でなく,手動でパス指定したいとき...
-cmake/ConfigUserAdvanced.cmake
#codeprettify{{
##
## Section 2: Build dependencies (should only be needed i...
## automatically detect the rights version or path.)
##
# Set URL to GMT Data server [auto]:
#set (GMT_DATA_SERVER "data_server_url")
# Set location of NetCDF (can be root directory, path to ...
# to nc-config) [auto]:
set (NETCDF_ROOT "/cluster_tools/build_gnu/netcdf-c-4.7.4")
# Set location of GDAL (can be root directory, path to he...
# gdal-config) [auto]:
set (GDAL_ROOT "/home/miyashita/local/src/gdal-3.5.0/bin")
# Set location of GEOS (can be root directory, path to he...
# geos-config) [auto]:
set (GEOS_ROOT "/home/miyashita/local/src/geos-3.5.2/bin")
# Set location of PCRE (can be root directory, path to he...
# pcre-config) [auto]:
#set (PCRE_ROOT "pcre_install_prefix")
# Alternatively, set location of PCRE2 (can be root direc...
# pcre2-config) [auto]:
#set (PCRE2_ROOT "pcre2_install_prefix")
# Set location of single precision FFTW (can be root dire...
# header file) [auto]:
set (FFTW3_ROOT "/home/miyashita/local/src/fftw-3.3.9")
}}
~
あとはお決まりのパターン.
#codeprettify{{
mkdir build && cd build
cmake ..
}}
cmake のときに geos のパスを指定しても,include だけ反映...
その場合は下記のようにライブラリのパスを cmake のオプショ...
#codeprettify{{
cmake .. -DGEOS_LIBRARY:FILEPATH=/home/miyashita/local/sr...
}}
その後は通常の make の流れ.
#codeprettify{{
make
make install
}}
今回は自分の local のインストールなので make install に s...
~
実は,apt で gmt 本体はインストールせず下のように dcw や ...
#codeprettify{{
sudo apt install gmt-dcw gmt-gshhg gmt-gshhg-full gmt-gsh...
}}
この場合 dcw や gshhg は /usr/share/ に入る.
~
~
*** GMT 6.5.0 [#yc2114c0]
6.1と同様に cmake にあるテンプレートをコピーして,各種ラ...
#codeprettify{{
cp -p ConfigUserTemplate.cmake ConfigUser.cmake
cp -p ConfigUserAdvancedTemplate.cmake ConfigUserAdvanced...
}}
以下は研究室のクラスター計算機で設定したときのファイルの...
- ConfigUser.cmake
#codeprettify{{
# 1. Installation path (usually defaults to /usr/local) ...
set (CMAKE_INSTALL_PREFIX "/home/miyashita/local")
}}
#codeprettify{{
# 3a. Set full path to the GSHHG Shoreline Database direc...
set (GSHHG_ROOT "/cluster_tools/utility/gshhg-gmt-2.3.7")
# 3b. Copy GSHHG files to ${GMT_DATADIR}/coast [TRUE]?:
#set (COPY_GSHHG FALSE)
# 4a. Set full path to the DCW Digital Chart of the World...
set (DCW_ROOT "/cluster_tools/utility/dcw-gmt-2.0.0")
# 4b. Copy DCW files to ${GMT_DATADIR}/dcw [TRUE]?:
#set (COPY_DCW FALSE)
}}
~
- ConfigUserAdvanced.cmake
#codeprettify{{
# Set location of GDAL (can be root directory, path to he...
# gdal-config) [auto]:
set (GDAL_ROOT "/cluster_tools/build_gnu/gdal-3.4.1")
}}
#codeprettify{{
# Set location of single precision FFTW (can be root dire...
# header file) [auto]:
set (FFTW3_ROOT "/home/miyashita/local")
}}
なんとか-config 系のコマンドや pkgconfig のパスがしっかり...
cmake のファイルの中でちゃんと場所を指定しても libfftw3f....
あとは cmake コマンドでなんとかする.
#codeprettify{{
mkdir build
cd build
cmake ..
}}
Ninja というビルドツールがあると
#codeprettify{{
cmake .. -G Ninja
}}
としたほうが速く終わるらしい.なくても可.~
#codeprettify{{
cmake --build .
cmake --build . --target install
}}
~
~
~
**バイナリをインストール[#b941f02b]
こちらは NetCDF4 がなくてもインストールできた.~
もちろん pscoast や grdview などは NetCDF4 がインストール...
#codeprettify{{
sudo apt install gmt gmt-doc gmt-dcw gmt-gshhg gmt-gshhg-...
}}
この方法を採用すると,
#codeprettify{{
/usr/bin/gmt # gmtのバイナリ実行ファイル
/usr/share/gmt-dcw # dcw
/usr/share/gmt-gshhg # gshhg
}}
の構成になる.~
Page:
Edit with a page name which already exists