[[FrontPage]]

#contents

2012/03/08からのアクセス回数 &counter;

** 動機 [#vbcfbfa8]
インターフェース2011/12号にMATLABの特集があったので、Sageでoctaveを動かして
みたいと思ってインストールすることにしました。

バイナリもあり、簡単化と思ったらQtOctaveのマック版は起動後すぐにエラーがでたり、
バイナリのoctaveのプロットが上手くできませんでした。

MacPortsでもインストール順序とバージョンを調整して、やっと動くようになったので、
忘れないうちにメモすることにしました。

** MacPortsのインストール順序 [#a02e9a79]
単にQtOctaveをインストールするとgnuplotのところでエラーとなってしまいます。
また、octaveのバージョンが画像処理パッケージと合っていないため、octave-devel
版をインストールしました。

インストールの手順は以下の通りです。

#pre{{
$ sudo port install gnuplot
$ sudo port install octave-devel
$ sudo port install qtoctave-mac
}}

** さくらVPSへのoctaveのインストール [#u2d60d37]
sageからoctaveを使えるようにするために、さくらVPSにoctaveをインストールしました。

ソースからのインストールも試みましたが、原因不明でcoreダンプします。

そこで、以下の手順で既存のパッケージからのインストールを行いました。
#pre{{
$ sudo rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
$ sudo yum install octave-devel octave-forge
}}

*** 最新のバージョンをソースから作成する [#za1d6ada]
signal等いつくかのパッケージが古くてMacとの互換性が保てないため、最新のバージョン
をソースから作成することにしました。

最初は、Mac版と同じoctave-3.4.3にしたのですが、作成されたバイナリが突然セグメンテーション
違反で落ちてしまいました。

ネットで調べたところ、最新の3.6.1ではCentOS 5.5でも落ちなくなったみたいなので、
このバージョンで作成することにしました。

手順は以下の通りです。
- ドキュメントの作成でエラーになるので、--enable-docs=noとします
- curlのバージョンが古いみたいでの、使わないように--without-curlとします


#pre{{
$ cd ~/src
$ wget ftp://ftp.gnu.org/gnu/octave/octave-3.6.1.tar.gz
$ tar xzf octave-3.6.1.tar.gz
$ cd octave-3.6.1
$ ./configure --without-curl --enable-docs=no --enable-shared
$ make
$ make check
}}

問題なければ、インストールします。((私の場合、sqrmts.ccで1カ所FAILになりました))

#pre{{
$ sudo make install
$ make clean
}}

アンインストールする場合のために、ソースは残しておきます。
削除する場合には、以下の様に行います。
#pre{{
$ sudo make uninstall
}}

*** GNUPlotのバージョンが合わない [#re3f053c]
上手く行ったと思ったのもつかの間でした。gnuplotのバージョンが4.2.5以上でないと動かないことが判明。

以下の手順でGNUPlotをインストールしました。configureのオプションをどうすればX11とPNGができるのかわからなくて苦労して見つけました。

#pre{{
$ sudo yum install gd-devel.x86_64
$ cd src
$ wget http://sourceforge.net/projects/gnuplot/files/gnuplot/4.4.4/gnuplot-4.4.4.tar.gz/download
$ $ cd gnuplot-4.4.4
$ ./configure --with-readline=gnu --with-libpng=/usr/lib --with-libz=/usr/lib \\
  --with-png --with-gd --enable-history-file --with-x --x-libraries=/usr/lib \\
  --x-includes=/usr/include/X11
}}

*** octave forgeのインストール [#a6e68fb6]
結局古いパッケージoctave-forge-bundle-20090607.tar.gzをダウンロードして、動かない部分は
最新に変えてインストールを試行錯誤しました。
- signalのインストールが大変

#pre{{
$ mkdir dl
$ wget http://sourceforge.net/projects/octave/files/Octave%20Forge/R2009-06-07/octave-forge-bundle-20090607.tar.gz
$ tar xzf octave-forge-bundle-20090607.tar.gz
$ cd octave-forge-bundle-20090607/main
$ octave
}}

パッケージのインストールは、
#pre{{
pkg install -local general-1.1.3.tar.gz 
pkg install -local image-1.0.14.tar.gz 
pkg install -local miscellaneous-1.0.11.tar.gz 
pkg install -local struct-1.0.9.tar.gz 
pkg install -local optim-1.0.17.tar.gz 
pkg install -local specfun-1.0.8.tar.gz
pkg install -local control-1.0.11.tar.gz
pkg install -local io-1.0.9.tar.gz 
pkg install -local plot-1.0.7.tar.gz
pkg install -local audio-1.1.4.tar.gz 

pkg install -local signal-1.1.2.tar.gz
}}

もしも、-forgeが使えるようになったら、以下のコマンドが使えるようになります。
#pre{{
pkg list -forge
pkg install -local general
pkg update general
}}

*** octave 3.4.3のスクリプト互換について [#vababa67]
さくらVPSの方は、octave 3.6.1がベースなので、octave 3.4.3の時にdeprecatedに
なっていた関数が使えません。

そこで、以下の手順で3.4.3のdeprecated関数を3.6.1に移行しました。
- 3.4.3の/opt/local/share/octave/3.4.3/m/deprecated/のファイルをtarで保存
- 3.6.1のホームディレクトリ/octaveにdeprecatedディレクトリを作成し、ここに展開

.octavercに以下の行を追加
#pre{{
path(path, '.', 'ホームディレクトリ/octave/deprecated');
}}
** コメント [#q044caa4]
#vote(おもしろかった,そうでもない,わかりずらい)

皆様のご意見、ご希望をお待ちしております。
- さくらVPSでのoctaveのインストール方法を追加 -- [[竹本 浩]] &new{2012-03-25 (日) 19:04:42};

#comment_kcaptcha

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
SmartDoc