2021年12月4日土曜日

GMT 6.3.0 install on AlmaLinux 8.5 on VirtualBox on Windows10

AlmaLinux 8.5 に GMT 6.3.0 をソースからコンパイルしてみました。

ライブラリ類

fortran 関係とかはついでに入れたので、GMT には不要だろうと思います。

sudo dnf install lapack-devel lapack-static openblas-static \
                 openblas-devel
sudo dnf install fftw fftw-devel
sudo dnf install netcdf-devel netcdf-static netcdf-fortran \
                 netcdf-fortran-devel netcdf-fortran-static
sudo dnf install cmake
sudo dnf install gdal gdal-doc gdal-libs gdal-devel
sudo dnf install geos-devel
sudo dnf install pcre-devel pcre-static pcre-cpp
sudo dnf install GraphicsMagick GraphicsMagick-c++ \
                 GraphicsMagick-doc GraphicsMagick-devel

GMT 本体

自分の好みですが /usr/local/gmt6.3.0 以下にインストールします。

cd /tmp
wget https://github.com/GenericMappingTools/gmt/releases/download/6.3.0/gmt-6.3.0-src.tar.gz
wget https://github.com/GenericMappingTools/gshhg-gmt/releases/download/2.3.7/gshhg-gmt-2.3.7.tar.gz
wget https://github.com/GenericMappingTools/dcw-gmt/releases/download/2.0.1/dcw-gmt-2.0.1.tar.gz
gtar xfz gmt-6.3.0-src.tar.gz
gtar xfz gshhg-gmt-2.3.7.tar.gz
gtar xfz dcw-gmt-2.0.1.tar.gz
cd gmt-6.3.0/cmake/
cp -i ConfigUserTemplate.cmake ConfigUser.cmake
vi ConfigUser.cmake
set (CMAKE_INSTALL_PREFIX "/usr/local/gmt6.3.0")
set (GSHHG_ROOT "/tmp/gshhg-gmt-2.3.7")
set (COPY_GSHHG TRUE)
set (DCW_ROOT "/tmp/dcw-gmt-2.0.1")
set (COPY_DCW TRUE)
cp -i ConfigUserAdvancedTemplate.cmake ConfigUserAdvanced.cmake
vi ConfigUserAdvanced.cmake
set (LICENSE_RESTRICTED off)
set (GMT_ENABLE_OPENMP TRUE)
set (UNITS "SI")
cd ..
mkdir build; cd build
cmake ..
cmake --build .
sudo cmake --build . --target install

テスト

/usr/local/gmt6.3.0 に PATH を通すことをお忘れなく。

cd /tmp
gmt pscoast -JM16.0c -R128/148/28/46 -Da -Ba5f1WSne -W1p -P > gmt.ps
evince gmt.ps

2021年12月3日金曜日

VirtualBox on Windows10 のディスプレイ解像度

私の使っているノート型 PC (Windows 10) のディスプレイは 12.1 型ですが解像度が 1920×1200 あり、等倍で使うには文字が小さくなりすぎたりしますので、Windows 10 の設定([設定]-[システム]-[ディスプレイ])では推奨の 125% としています。

このノートPC 上の VirtualBox 仮想マシンで CentOS, AlmaLinux などをテストなどの目的で使っています。仮想マシン上の Linux で GNOME を使ったりすると、やはり表示が小さくなるので、VirtualBox (6.1.30) の [設定]-[ディスプレイ]-[表示倍率] を、特に何も考えず Windows の設定と同じ 125% にしていたら、特にターミナルなどに表示される文字が全然滑らかに表示されず、ビットの目立つカクカクした表示になっていました(Virtualbox Version 6 になってからだと思います)。VirtualBox の不具合だと思っていたので、そのような状態で我慢して使っていました。

最近、たまたま VirtualBox の仮想マシンの画面を外付けディスプレイ(100% 表示)に表示させてみると、なんと、文字などが滑らかに表示されることに気づきました。 VirtualBox の不具合だけでもないことが分かったので、いろいろな設定の組み合わせて試してみたところ、

VirtualBox [設定]-[ディスプレイ]-[表示倍率]: 120%

にすることで、それなりの文字サイズで、かつ、きれいな表示が得られることが分かりました。(上記の Windows 設定のほうの倍率とは独立している感じです)

たぶん1年以上、上のような状態で使っていたのですが、作業が非常に快適になりました。おそらく VirtualBox の表示が Windows 10 の表示スケーリングにうまく対応できていないのだと思われます。情けないやら、嬉しいやら。どこかに書かれているかもしれませんが、同様にお悩みの方がいらっしゃるかもしれませんので、共有します。

2021年4月29日木曜日

LaTeX 文書に PNG 画像を取り込む

知っている人には常識かもしれませんが、LaTeX 文書に PNG とかの画像ファイルを取り込むとき、

\documentclass[dvipdfmx]{jarticle}
\usepackage{graphicx}

のように \documentclass{} のオプションに "dvipdfmx" を書いたうえで、文書中に

\includegraphics[width=5cm]{aaa.png}
などと書いて
platex a.tex
dvipdfmx a.dvi

で a.pdf ができ、無事 aaa.png が文書に取り込まれます。

私の(昔の)知識では、"dvipdfmx" は graphicx パッケージ専用のオプションと思っていて、ずっと

\usepackage[dvipdfmx]{graphicx}

のようにしていたのと、 EPS 形式以外の画像ファイルは、platex にかける前に

ebb aaa.png

などとして BoundingBox の情報を取り出しておく必要がありました。なのでそれが面倒なので、画像ファイルをいちいち GIMP などで EPS 形式に変換していました...

TeX Wiki の記事によると TeX Live 2015 以降でこのようになっていたようです。便利にしてくださった方々に感謝です。

環境

  • CentOS Linux release 8.3.2011
  • TeX Live 2020 (本家配布の ISO ファイルを使用してインストール)

2020年4月18日土曜日

Illustrator CC に数式を入力する

Linux 関係ない話題です。
GMT や GNUPLOT などで描いた図を Illustrator で修正したいことが良くあります(私の場合)。で、ちょっとした数式を図の中に書き込みたいときに良い方法を見つけたのでメモしておきます。

それは、LibreOffice で数式を入力し、そのオブジェクトをコピー、Illustrator にペーストする、という方法です。複雑な式は試していませんが、例えば
a \prop b_n
とか LibreOffice Impress で入力したものをコピペすれば、Illustrator 上でも文字として認識されています。
試した環境は下記です。

  • Windows 10 1909
  • LibreOffice 6.3.5.2
  • Illustrator 24.1.1
うまくいかなかった方法としては:

  • MS Office 2016 の数式エディタで入力した数式をコピー&ペースト

2015年6月3日水曜日

gdal 1.11.2, cmake 3.2.3, GMT 5.1.2 install on Vine Linux 6.3

GMT5のインストール方法です。それに必要な cmake を入れます(Vine Linux 6.3 のパッケージにある cmake は 2.8.3 ですが、GMT5 では 2.8.5 以上が必要とのことです)。ついでに gdal も入れました。

なお、NetCDF も必須です。以下の手順ではすでに入っているものとして進めています。まだの方はこちらをご参照ください。

gdal 1.11.2

cd /tmp
wget http://download.osgeo.org/gdal/1.11.2/gdal-1.11.2.tar.gz
gtar xfvz gdal-1.11.2.tar.gz
cd gdal-1.11.2
./configure --prefix=/usr/local/gdal
make -j 2
sudo make install
vi ~/.bashrc
PATH="$PATH":/usr/local/gdal/bin

cmake 3.2.3

cd /tmp
wget http://www.cmake.org/files/v3.2/cmake-3.2.3.tar.gz
gtar xfvz cmake-3.2.3.tar.gz
cd cmake-3.2.3
less README.rst
./bootstrap --help
./bootstrap --prefix=/usr/local/cmake
make
sudo make install
vi ~/.bashrc
 PATH="$PATH":/usr/local/cmake/bin
PATH="$PATH":/usr/local/cmake/bin

GMT 5.1.2

cd /tmp
wget ftp://ftp.scc.u-tokai.ac.jp/pub/gmt/gmt-5.1.2-src.tar.gz
wget ftp://ftp.scc.u-tokai.ac.jp/pub/gmt/dcw-gmt-1.1.1.tar.gz
wget ftp://ftp.scc.u-tokai.ac.jp/pub/gmt/gshhg-gmt-2.3.4.tar.gz
gtar xfvz gmt-5.1.2-src.tar.gz
gtar xfvz gshhg-gmt-2.3.4.tar.gz
gtar xfvz dcw-gmt-1.1.1.tar.gz
cd gmt-5.1.2/cmake
cp -i ConfigUserTemplate.cmake ConfigUser.cmake
vi ConfigUser.cmake
set (CMAKE_INSTALL_PREFIX /usr/local/gmt5.1.2)
set (GSHHG_ROOT /tmp/gshhg-gmt-2.3.4)
set (COPY_GSHHG TRUE)
set (DCW_ROOT /tmp/dcw-gmt-1.1.1)
set (COPY_DCW TRUE)
set (NETCDF_ROOT /usr/local/netcdf/)
set (GDAL_ROOT /usr/local/gdal/)
set (LICENSE_RESTRICTED off)
cd ..
mkdir build; cd build
cmake ..
make
sudo make install
cd /usr/local
sudo mv -i gmt gmt4.5.13
sudo ln -s gmt5.1.2 gmt

test

cd /tmp
gmt pscoast -JM16.0c -R128/148/28/46 -Dh -Ba5f1WSne -W1p -P > gmt.ps

GMT5について

GMT4までの使い方でも、ある程度は互換性が保たれているようですが、オプションの使い方や、変数名がかなり変更されていますので、少なくとも Cookbook 5,6章に目を通されることをおすすめします。

2015年1月17日土曜日

NetCDF 4.3.2, NetCDF Fortran 4.4.1, GMT 4.5.13 install on Vine Linux 6.2

GMT4のインストール方法です。ただし NetCDF Fortran は、ついでにインストールしただけで、GMTには不要です。

GMT5はまだ試していません。

netcdf


cd /tmp
wget http://www.gfd-dennou.org/library/netcdf/unidata-mirror/netcdf-4.3.2.tar.gz
wget http://www.gfd-dennou.org/library/netcdf/unidata-mirror/netcdf-fortran-4.4.1.tar.gz
gtar xfvz netcdf-4.3.2.tar.gz
cd netcdf-4.3.2
./configure --prefix=/usr/local/netcdf --enable-netcdf-4 --disable-dap
make check
sudo make install
cd ..
gtar xfvz netcdf-fortran-4.4.1.tar.gz
cd netcdf-fortran-4.4.1
CPPFLAGS="-I/usr/local/netcdf/include" \
 LD_LIBRARY_PATH=/usr/local/netcdf/lib:${LD_LIBRARY_PATH} \
 LDFLAGS="-L/usr/local/netcdf/lib" \
 ./configure --prefix=/usr/local/netcdf
make
make check
sudo make install
sudo vi /etc/ld.so.conf
 include ld.so.conf.d/*.conf
 /usr/lib64/sane
 /usr/local/netcdf/lib  #<= 追加  
sudo ldconfig

GMT

cd /tmp
wget ftp://ftp.iris.washington.edu/pub/gmt/gmt-4.5.13-src.tar.bz2
wget ftp://ftp.iris.washington.edu/pub/gmt/gmt-4.5.13-non-gpl-src.tar.bz2
wget ftp://ftp.iris.washington.edu/pub/gmt/gshhg-gmt-2.3.4.tar.gz
bzcat gmt-4.5.13-src.tar.bz2 | tar xfv -
bzcat gmt-4.5.13-non-gpl-src.tar.bz2 | tar xfv -
cd gmt-4.5.13
./configure --prefix=/usr/local/gmt --enable-triangle \
 --disable-flock --enable-eps \
 --enable-netcdf=/usr/local/netcdf \
 --enable-octave=/usr/lib64/octave/
make all
sudo make install-all
cd ..
gtar xfvz gshhg-gmt-2.3.4.tar.gz
cd gshhg-gmt-2.3.4
sudo mkdir -p /usr/local/gmt/share/coast
sudo mv * /usr/local/gmt/share/coast/

test

cd /tmp
pscoast -JM16.0c -R128/148/28/46 -Dh -Ba5f1WSne -W1p -P > gmt.ps

2012年8月4日土曜日

Octave 3.6.2 install on Vine Linux 6.1

Vine Linux 6.1 に Octave 3.6.2 をインストールしてみました。試行錯誤の上、前回 (3.6.1) とくらべて下記の赤字の部分を変更(追加)しました。

$ sudo apt-get install hdf5 hdf5-devel blas blas-devel \
 lapack lapack-devel ImageMagick-devel ImageMagick-c++-devel fftw3 \
 fftw3-devel glpk glpk-devel glpk-utils qhull qhull-devel suitesparse \
 suitesparse-devel pcre-devel fltk fltk-devel gperf
$ cd /tmp
$ wget http://ftpmirror.gnu.org/octave/octave-3.6.2.tar.gz
$ gtar xfvz octave-3.6.2.tar.gz
$ cd octave-3.6.2
$ CFLAGS=-O CXXFLAGS=-O ./configure --prefix=/usr/local/octave \
 --with-umfpack="-lumfpack -lcholmod -lcolamd -llapack" CPPFLAGS="-I/usr/include/pcre \
 -I/usr/include/ImageMagick -I/usr/include/suitesparse" LDFLAGS="-L/usr/lib64"
$ make
$ make check
$ sudo make -n install
$ sudo make install

/usr/local/octave/bin に PATH を通すのをお忘れなく。

補足


上記のように configure しても、まだ下記のような WARNING が残ります。
configure: WARNING: cURL library not found.  The ftp objects, urlread and urlwrite functions will be disabled.
configure: WARNING: GraphicsMagick++ library not found.  The imread function for reading image files will not be fully functional.
configure:
configure: NOTE: libraries may be skipped if a library is not found OR
configure: NOTE: if the library on your system is missing required features.

補足2

[2012-09-13]
Vine Linux の公式パッケージで Octave 3.6.2 が利用できるようになっています。荒さんはじめ関係者に感謝いたします。