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 にちゃんとした導入手順の解説がありました。