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 が利用できるようになっています。荒さんはじめ関係者に感謝いたします。

Upgrade from Vine Linux 6.0 to 6.1 on Dell Precision T1600

待望の Vine Linux 新バージョン 6.1 がついにリリースされました。関係者の皆様に深く感謝いたします。

さて、仕事用マシンの Dell Precision T1600 を早速 upgrade してみました。しかし結構はまってしまいました。

スペックは以前と同じ。すでに Vine Linux 6 がインストールされており、メインのレポジトリが6.1に移行すると同時に update-watch が80個以上も更新パッケージがある、と知らせていましたので、apt-get により upgrade しました。

本来であれば、single user mode で作業すべきなのですが、自分しか使っていませんので、手抜きして、仮想コンソールで作業しました。gdm のログイン画面で [Ctrl]+[Alt]+[F2] を押し、rootでログイン。

# eng
# apt-get update
# apt-get dist-upgrade

ここまでは特に問題なく進んだのですが、マシンを再起動すると、GRUB 画面のすぐ後で

pnp 00:0a: can't evaluate _CRS: 12311

という表示が出たまま、マシンが固まってしまいました orz...

強制的に電源を off し、再度起動して GRUB で今度は previous kernel (2.6.35) を選ぶと、普通に立ち上がりました。

いろいろと試してみましたが、結論を書きますと、起動時カーネルオプションに "nomodeset" を加えて起動すると、kernel 3.0.38 で立ち上がりました。起動時にカーネルオプションを変更する方法は Vine Linux 6 マニュアルに説明があります。

とりあえず起動できたので、こちらの説明に従い、この設定を GRUB に設定しました。

$ sudo vi /boot/grub/menu.lst
...
title Vine Linux (Current kernel)
  root (hd1,0)
  kernel /boot/vmlinuz ro root=LABEL=/ resume=swap:/dev/sdb2 \
  vga=0x314 splash=silent quiet nomodeset #(実際は1行)
...

本当にこれで良いのかどうかは分かりません。試される場合は自己責任でおねがいします。
こんな記事もありましたが、GPU(ドライバ)が原因でしょうか?

付録?


以下は、上記に行き着くまでに試したこと(の一部)です。(恥ずかしくて全部は書けません...)

  • gparted-live-0.13.0-3.iso を焼いた DVD から起動
  • これは起動途中で止まってしまいました。ちなみに kernel 3.2.23-1 です。
  • CentOS-6.3-x86_64-LiveDVD.iso を焼いた DVD から起動
  • こちらはデスクトップ画面が現れました。kernel 2.6.32-279 です。
  • Vine Linux 6.1 で、previous kernel (2.6.35) で起動した時の dmesg
  • PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
    という気になるメッセージがありました。
  • ubuntu forum でのスレッド
  • 上記の "pci=nocrs" を手がかりにこのスレッドに行き着き、そこで "nomodeset" というオプションがあることを知りました。

2012年3月7日水曜日

Octave 3.6.1 install on Vine Linux 6

Octave 3.6.1 がリリースされていました。例によって Vine Linux 6 にインストールしました。

前回、configure で Pcre が見つからない件がありましたが、本家 ML で回避策が出ていました。下記の赤字の部分が前回と違う点です。

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
cd /tmp
wget http://ftpmirror.gnu.org/octave/octave-3.6.1.tar.gz
gtar xfvz octave-3.6.1.tar.gz
cd octave-3.6.1/
CFLAGS=-O CXXFLAGS=-O ./configure --prefix=/usr/local/octave \
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

2012年3月3日土曜日

Hiki install

HikiはWikiシステムです。職場の情報共有用にサーバを立ててみました。ホストは当然 Vine Linux 6 です。

Apache (http server)


何はなくともweb server。Vine に標準で入っていた Apache (apache2-2.2.21-4vl6.x86_64.rpm) を使いました。

設定ファイル:
# cd /etc/apache2/conf
# cp -pi httpd.conf httpd.conf.ori
# vi httpd.conf
<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>
<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

/ の設定は、セキュリティーポリシーがしっかりとあるわけではありませんが、以前からの設定を踏襲して。

/var/www/html の設定は、後の Hiki での設定と整合させるために必要です。 .htaccess で制御するのでなく、こちらに下の .htaccess の内容を書いても良いのだと思います。

[システム]-[システム管理]-[サービス]
apache2 有効, 開始

[システム]-[システム管理]-[セキュリティレベルとファイアウォールの設定]
WWW(HTTP) 追加

Hiki


次に Hiki。cgi などは Vine の標準である /var/www/html 以下に、Hiki で作成するページのデータは /usr/local/hiki に置くことにしました。

# cd /var/www/html
# gtar xfvz /tmp/hiki-0.8.8.1.tar.gz
# mv hiki-0.8.8.1 hiki
# chown -R root:root hiki
# cd hiki
# mv -i dot.htaccess .htaccess
# mkdir /usr/local/hiki
# cp -pr data /usr/local/hiki/
# chown -R apache:apache data
# mv -i hikiconf.rb.sample hikiconf.rb
# vi hikiconf.rb
@data_path       = '/usr/local/hiki/data'

Test


Webブラウザで http://localhost/hiki/ にアクセスして編集してみます。
別のホストからも接続してみます。

参考

2012年3月2日金曜日

Vine Linux 6 (x86_64) install on Dell Precision T1600

Dell Precision T1600 に Vine Linux 6 (x86_64) をインストールしたメモです。

スペック
  • CPU: Xeon E3-1270
  • メモリ: 16 GB
  • HDD: 1 TB x 2
  • Video Card: NVIDIA Quadro 2000 1GB
  • モニタ: U2412Mb (1920x1200)

例によって Windows 7 と Vine Linux 6 とのデュアルブートにします。HDDが2台あるので、1台目はそのまま Windows 7 を残し、2台目に Linux をインストールします。ブートローダは X220 のときと同様、Windows のものを使います。したがって今回はHDD のパーティションは特にいじらないので、GParted は不要です。

Install Disk から起動


PCの電源を入れたらすぐに[F12]を長押しし、起動ドライブの選択画面を出します。Vine60-DVD-x86_64.iso を焼いた DVD をドライブにセットし、そのドライブを起動に選びます。

ディスクパーティション


/dev/sdb (2台目HDD) に / (root, ext4) と swap を作りました。
/dev/sda は Windows が入ったままなので触らない。

ブートローダの設定


「高度なブートローダオプションの設定」にチェックを入れ、ブートローダをインストールする場所は、

/dev/sdb1 ブートパーティションの最初のセクタ
とします。

インストール終了後


マシンが再起動しますが、Windows ブートローダの設定をしていないので、そのままでは Vine Linux は起動しません。今回は、Vine Linux 6 install DVD の rescue mode を利用してブートセクタのコピーをしました(rescue mode についてはVine Linux レスキューモード利用ガイド参照)。

rescue mode が立ち上がったら下記のように作業。やっていることは、Windowsのパーティション (WindowsでCドライブとなるパーティション) をマウントし、Vine Linux をインストールしたディスクの先頭ブロックに入っているブートセクタをファイルとして Windows パーティションに保存する、ということ。

# chroot /mnt/sysimage
# mount -t ntfs /dev/sda3 /mnt/cdrom
# cd /mnt/cdrom
# dd if=/dev/sdb1 of=vine.bin bs=512 count=1
# exit
# exit

Windowsブートローダの設定


Windows 7 を起動します。[スタートメニュー]-[全てのプログラム]-[アクセサリ]-[コマンドプロンプト]([右クリック]-[管理者として実行]) でコマンドプロンプトを出し、以下を入力します。

bcdedit /create /d "Linux" /application bootsector
エントリ {ほげ} は正常に作成されました。
bcdedit /set {ほげ} device partition=C:
bcdedit /set {ほげ} path \vine.bin
bcdedit /displayorder {ほげ} /addlast
bcdedit /timeout 30

Vine Linux 起動


ようやくこれで Vine Linux を起動できるようになりました。

心残り


ディスプレイは奮発して24inch。最大1920x1200の解像度が表示できますが、Vine Linux 6 付属の nv ドライバ (? vesa かも) では Quadro 2000 に対応していないのか、vesa ドライバが使われていました。そのため解像度は 1600x1200 が最大で、このままだと画面表示がちょっと横にのびてしまいます。これは nvidia から配布されているドライバなどを使うと改善するかもしれません。要調査。

xorg-x11-drv-nvidia


(2012-03-08 追記)
というわけで「Installing Vine Linux 6.0 beta2 on ZOTAC IONITX-P-E」を参考に、nvidia のドライバを入れてみました。Vine ではすでに xorg-x11-drv-nvidia というパッケージになっています。感謝。

# /sbin/telinit 3
# apt-get install xorg-x11-drv-nvidia
 libvdpau-0.4.1-1vl6.x86_64             #####################
 xorg-x11-drv-nvidia-295.20-1vl6.x86_64 #####################
Error: Editing failed, restoring backup
# nvidia-xconfig
WARNING: Unable to find CorePointer in X configuration; attempting to add new
 CorePointer section.
WARNING: The CorePointer device was not specified explicitly in the layout;
 using the first mouse device.
WARNING: Unable to find CoreKeyboard in X configuration; attempting to add new
 CoreKeyboard section.
WARNING: The CoreKeyboard device was not specified explicitly in the layout;
 using the first keyboard device.
Backed up file '/etc/X11/xorg.conf' as '/etc/X11/xorg.conf.backup'
New X configuration file written to '/etc/X11/xorg.conf'
# nvidia-config-display enable
Error: Editing failed, restoring backup
# reboot

Error や Warning がいろいろ出ましたが、とりあえず問題なく(?)使えているようです。1920x1200 の解像度もバッチリです。重ね重ね関係者の皆様に感謝いたします。

(2013-07-26 追記)
Vine Linux の公式 Wiki にちゃんとした導入手順の解説がありました。

2011年11月12日土曜日

NetCDF 4.1.3, GMT 4.5.7 install on Vine Linux 6

以下は地図などのプロットに欠かせない Generic Mapping Tools のインストールについての記録です。

まず NetCDF をインストール。/usr/local/netcdf 以下に。HDF5 とかはよく分からないので disable。
$ cd /tmp
$ wget http://www.gfd-dennou.org/library/netcdf/unidata-mirror/netcdf-4.1.3.tar.gz
$ gtar xfvz ~/tmp/netcdf-4.1.3.tar.gz
$ cd netcdf-4.1.3
$ ./configure --prefix=/usr/local/netcdf --disable-netcdf-4
$ make check
$ su -
# make install

次に GMT。
$ cd /tmp
$ wget ftp://ftp.soest.hawaii.edu/gmt/gmt-4.5.7.tar.bz2
$ wget ftp://ftp.soest.hawaii.edu/gmt/gshhs-2.2.0.tar.bz2
$ bzcat gmt-4.5.7.tar.bz2 | tar xfv -
$ cd GMT4.5.7
$ bzcat ../gshhs-2.2.0.tar.bz2 | tar xfv -
$ ./configure --prefix=/usr/local/gmt --enable-triangle --disable-flock\ 
--enable-eps --enable-octave --enable-netcdf=/usr/local/netcdf --disable-xgrid
$ make all
$ make suppl
$ su -
# make install-all

パスを通す設定。

$ vi ~/.bashrc
PATH="$PATH":/usr/local/netcdf/bin:/usr/local/gmt/bin

念のためにテスト。
$ pscoast -JM16.0c -R128/148/28/46 -Dh -Ba5f1wsne -W1p -P > gmt.ps
$ evince gmt.ps

補足

[2012-10-29]

Vine Linux のパッケージで GMT 4.5.8 がインストールできるようになったようです。関係者の皆様に感謝いたします。

2011年10月2日日曜日

updatedb, slocate の設定 (Vine Linux 6)

slocate コマンドでファイル名をすばやく検索できるようにするために、下記の設定が必要。

# vi /etc/updatedb.conf
DAILY_UPDATE=yes
# updatedb

(スーパーユーザで実行)

【2011-11-25追記】
上記だけだと実行できていないよう。

# vi /etc/cron.daily/slocate.cron
#nodevs=$(< /proc/filesystems awk 'BEGIN { f = 1; }
#       $1 == "nodev" { if (!f) printf (","); f = 0; printf $2; }')
nodevs=$(< /proc/filesystems awk '$1 == "nodev" { print $2 }')
(参考) Vine BTS: 1223: slocateパッケージの不具合

2011年10月1日土曜日

Vine Linux 6 (x86_64) install on ThinkPad X220

Lenovo ThinkPad X220 (4286CTO, Core i5-2520M, メモリ8GB, HDD 320GB, Centrino Advanced-N + WiMAX 6250) に Vine Linux 6 (x86_64) をインストールした時のメモです。PC にはじめから入っていた Windows 7 との dual boot にしました。

主な手順は
  1. GParted で HDD のパーティションを2つに分ける
  2. Vine Linux 6 を外付け DVD (USB接続) からインストール
  3. Windows ブートマネージャーで、起動するOSを選べるようにする
のようです。

GParted で HDD のパーティションを2つに分ける


GParted Live の ISO image をこちらからダウンロードしてCDなどに焼き、そのCDからブートします。

初期状態は以下のようでした。

/dev/sda1ntfsSYSTEM_DRV1.17 GiB
/dev/sda2ntfsWindows7_OS287.15 GiB
/dev/sda3ntfsLenovo_Recovery9.77 GiB
未割り当て未割り当て1.34 MiB

/dev/sda2 を選んで適当なサイズに[リサイズ]で縮小します。
その後、作成した未割り当て領域を選択し、[New]
種類: 基本パーティション
ファイルシステム: ext3
[Apply]


Vine Linux 6 を外付け DVD (USB接続) からインストール


あらかじめ Vine60-DVD-x86_64.iso を焼いた DVD からブートします。それからはこちらに従って進めます。以下ポイントのみ。

ディスクの設定


ファイルシステムタイプ: swap
容量(MB): 10240
固定容量

マウントポイント: /
ファイルシステムタイプ: ext4
最大許容量まで使用

の2つの領域を作成。

ブートローダの設定


「高度なブートローダオプションの設定」にチェックを入れます。
ブートローダをインストールする場所: /dev/sda5 ブートパーティションの最初のセクタ

MBRにはインストールしません。

Windows ブートマネージャーで、起動するOSを選べるようにする


GParted Live CD から起動


HDDの Windows と Linux パーティションの操作を行うため、再度 GParted Live CD から起動します。HDDにインストールしたLinux はまだ起動できませんので。

で、以下の操作で、ブートパーティションの最初のセクタにインストールした Linux ブートローダを vine.bin というファイルに書き出します(ファイル名は任意)。

sudo mount -t ntfs /dev/sda2 /mnt
cd /mnt
sudo dd if=/dev/sda5 of=vine.bin bs=512 count=1

[exit] で GParted から抜けます。

Windows 7 起動


いよいよ Windows ブートローダの設定です。
[スタートメニュー]-[全てのプログラム]-[アクセサリ]-[コマンドプロンプト] ([右クリック]-[管理者として実行]) としてコマンドプロンプトを開きます。

C:\> bcdedit /create /d "Linux" /application bootsector
エントリ {ほげほげ} は正常に作成されました。
C:\> bcdedit /set {ほげほげ} device partition=C:
C:\> bcdedit /set {ほげほげ} path \vine.bin
C:\> bcdedit /displayorder {ほげほげ} /addlast
C:\> bcdedit /timeout 30

最初のコマンドで表示される {} の部分を以下のコマンド入力の際に指定します。

その後、
C:\> bcdedit
Windows ブート マネージャー
(略)
Windows ブート ローダー
(略)
リアル モード ブート セクター
--------------------------------
identifier              {ほげほげ}
device                  partition=C:
path                    \vine.bin
description             Linux

と表示されることを確認します。これで Vine Linux 6 が起動できるようになっているはずです。

参考


以下のサイトを参考にさせていただきました。

2011年9月25日日曜日

Octave 3.4.2 install on Vine Linux 6

Vine Linux 6 の apt-get でインストールできる octave は 3.0.2 と少し古く、また、
# apt-get -s install octave
以下のパッケージは解決できない依存関係を持っています:
  octave: 依存: libgfortran.so.1()(64bit) それをインストール
することができません
E: 壊れたパッケージです
という悲しい状態でしたので、ソースからコンパイルしてみました。
# 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 \
  pcre-devel fltk fltk-devel
$ cd /tmp
$ gtar xfvz octave-3.4.2.tar.gz
$ cd octave-3.4.2
$ vi configure
(31396行に下記挿入; pcre.h not found などのerrorが出るため)
ac_cv_pcre_h_macros_present=yes
$ CFLAGS=-O CXXFLAGS=-O ./configure --prefix=/usr/local/octave
$ make
$ make check
# make -n install
# make install
$ vi ~/.bashrc
PATH="$PATH":"$HOME"/bin:/usr/local/octave/bin/
suitesparse はうまく使われていないようですが、octave が使えるようになったのでまあよしとしましょう。

[追記 2012-03-07]
Pcre, suitesparse 等を configure に教えるスマートな方法がありましたので、octave 3.6.1 への対応とあわせて、新しい記事を書きました。合わせてご参照ください。