GMT6をインストールするためのDockerfileを作成しました。
ナンセンスなコードな気がするので自己責任でお願いします。
https://hub.docker.com/r/maclaurin/gmt6
docker pull maclaurin/gmt6
これで行けます。
なお、中身はこんな感じです。
FROM ubuntu:20.04
LABEL version="1.0"
ENV DEBIAN_FRONTEND=noninteractive
COPY ./gmt_install.sh /tmp
ARG GMT_VERSION=6.1.1
ARG GSHHG_VERSION=2.3.7
ARG DCW_VERSION=1.1.4
RUN sed -i.bak -e "s%http://[^ ]\+%http://ftp.jaist.ac.jp/pub/Linux/ubuntu/%g" /etc/apt/sources.list
RUN apt-get update && apt-get upgrade -y
RUN apt-get 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 \
wget \
graphicsmagick \
ffmpeg \
wget
RUN wget "http://www.scc.u-tokai.ac.jp/gmt/gshhg-gmt-${GSHHG_VERSION}.tar.gz" -P /tmp/
RUN wget "http://www.scc.u-tokai.ac.jp/gmt/dcw-gmt-${DCW_VERSION}.tar.gz" -P /tmp/
RUN wget "ftp://ftp.scc.u-tokai.ac.jp/pub/gmt/gmt-${GMT_VERSION}-src.tar.gz" -P /tmp/
RUN bash /tmp/gmt_install.sh
gmt_install.shは下記になっています。
#!/bin/bash
# -------------------------------
GMT_VERSION=6.1.1
GSHHG_VERSION=2.3.7
DCW_VERSION=1.1.4
# --------------------------------------------------
GSHHG_ROOT=/tmp/gshhg-gmt-${GSHHG_VERSION}
DCW_ROOT=/tmp/dcw-gmt-${DCW_VERSION}
tar xvzf /tmp/gshhg-gmt-${GSHHG_VERSION}.tar.gz -C /tmp
tar xvzf /tmp/dcw-gmt-${DCW_VERSION}.tar.gz -C /tmp
tar xvzf /tmp/gmt-${GMT_VERSION}-src.tar.gz -C /tmp
cd /tmp/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
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=RelWithDebInfo ..
ncpu=$(nproc)
make -j${ncpu}
make -j${ncpu} install
コメント