GMT6のインストール
GMT6のインストール方法について説明しています
多くの方々は、
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をビルドしてからインストールをします。
中にはAPTでインストールしてしまう人もいますが、Ubuntuの公式リポジトリはバージョンアップが遅いことが欠点として挙げられます。
たとえば、
sudo apt install gmt gmt-gshhg gmt-dcw
を Ubuntu18.04 で実行するとインストールされるのはGMT5だったりします。
極力自分でビルドする
特にGDALはPythonで扱う際に厄介です。
python3 -m pip install gdal
とインストールすると高確率でエラーを吐きます。
PythonのGDALとLinuxのGDALのバージョンは同じものにする必要があるからです。
たとえば、aptで入るGDALはUbuntu20.04だと3.0.4ですが、
現在のGDALの最新バージョンやpipが入れようとするGDALは3.2.0です。
というわけで、極力自分自身で最新版をビルドしてインストールする方法を以下に書いていきます。
PROJのインストール
Download — PROJ 9.5.0-dev documentation
PROJとは測地系変換ライブラリです。
aptなら
sudo apt install proj-bin
で入ります。
ビルドするなら、
echo 'PATH=$PATH:/usr/local/proj/bin' >> ~/.bashrc
PROJ_VERSION="9.0.1"
wget https://download.osgeo.org/proj/proj-${PROJ_VERSION}.tar.gz
tar xzvf proj-${PROJ_VERSION}.tar.gz
cd proj-${PROJ_VERSION}
mkdir build
cd build
sudo cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/proj -DBUILD_PROJSYNC=OFF
sudo make -j4
sudo make install -j4
でインストールできます。
GDALのインストール
Download — GDAL documentation
これが面倒くさいです。
まず、
sudo apt install libopenjp2-7 libopenjp2-7-dev libopenjp2-tools\
libtiff-dev ogdi-bin libhdf4-dev curl libssl-dev \
libpng-dev libgeotiff-dev libgif-dev libcurl4-gnutls-dev libgeos++-dev libgeos-3.8.0 libgeos-c1v5 libgeos-dev libgeos-doc
で依存するパッケージをインストールします。
これすらもビルドするのは面倒くさいので省略します。
そのあと、
echo 'PATH=$PATH:/usr/local/gdal/bin' >> ~/.bashrc
GDAL_VERSION="3.5.0"
wget https://github.com/OSGeo/gdal/releases/download/v${GDAL_VERSION}/gdal-${GDAL_VERSION}.tar.gz
tar xzvf gdal-${GDAL_VERSION}.tar.gz
cd gdal-${GDAL_VERSION}
mkdir build
cd build
sudo cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/gdal
sudo ./configure --prefix=/usr/local/gdal
sudo make -j4
sudo make install
GDALのビルドにはかなりの時間と負荷がかかります。
GMTのインストール
最後にGMTです。
GMT_VERSION="6.2.0"
GSHHG_VERSION="2.3.7"
DCW_VERSION="1.1.4"
GSHHG_ROOT=/home/$USER/gshhg-gmt-${GSHHG_VERSION}
DCW_ROOT=/home/$USER/dcw-gmt-${DCW_VERSION}
GDAL_ROOT=/usr/local/gdal/
wget "http://www.scc.u-tokai.ac.jp/gmt/gmt-${GMT_VERSION}-src.tar.gz"
wget "http://www.scc.u-tokai.ac.jp/gmt/gshhg-gmt-${GSHHG_VERSION}.tar.gz"
wget "http://www.scc.u-tokai.ac.jp/gmt/dcw-gmt-${DCW_VERSION}.tar.gz"
tar xvzf gshhg-gmt-${GSHHG_VERSION}.tar.gz
tar xvzf dcw-gmt-${DCW_VERSION}.tar.gz
tar xvzf gmt-${GMT_VERSION}-src.tar.gz
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' | \
sed -e 's%\#set (GDAL_ROOT "gdal_install_prefix"%'"set (GDAL_ROOT ${GDAL_ROOT}"'%g' \
> ./cmake/ConfigUser.cmake
cat ./cmake/ConfigUserAdvancedTemplate.cmake | \
sed -e 's%\#set (GDAL_ROOT "gdal_install_prefix"%'"set (GDAL_ROOT ${GDAL_ROOT}"'%g' \
> ./cmake/ConfigUserAdvanced.cmake
mkdir build
cd build
sudo cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local -L
ncpu=$(nproc)
sudo make -j${ncpu}
sudo make -j${ncpu} install
これでインストールができるはずです。
GMTの開発版をインストールする
GMTの開発版はgitを使うことでインストールできます。
そこまでメリットはない気がしますが、こだわりたい方は。
# GMT_VERSION="6.2.0"
GSHHG_VERSION="2.3.7"
DCW_VERSION="1.1.4"
GSHHG_ROOT=/home/$USER/gshhg-gmt-${GSHHG_VERSION}
DCW_ROOT=/home/$USER/dcw-gmt-${DCW_VERSION}
GDAL_ROOT=/usr/local/gdal/
git clone https://github.com/GenericMappingTools/gmt.git
wget "http://www.scc.u-tokai.ac.jp/gmt/gshhg-gmt-${GSHHG_VERSION}.tar.gz"
wget "http://www.scc.u-tokai.ac.jp/gmt/dcw-gmt-${DCW_VERSION}.tar.gz"
tar xvzf dcw-gmt-${DCW_VERSION}.tar.gz
tar xvzf gmt-${GMT_VERSION}-src.tar.gz
cd gmt
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' | \
sed -e 's%\#set (GDAL_ROOT "gdal_install_prefix"%'"set (GDAL_ROOT ${GDAL_ROOT}"'%g' \
> ./cmake/ConfigUser.cmake
cat ./cmake/ConfigUserAdvancedTemplate.cmake | \
sed -e 's%\#set (GDAL_ROOT "gdal_install_prefix"%'"set (GDAL_ROOT ${GDAL_ROOT}"'%g' \
> ./cmake/ConfigUserAdvanced.cmake
mkdir build
cd build
sudo cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local -L
ncpu=$(nproc)
sudo make -j${ncpu}
sudo make -j${ncpu} install
コメント