FrontPage

2012/03/08からのアクセス回数 6956

動機

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

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

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

MacPortsのインストール順序

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

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

$ sudo port install gnuplot
$ sudo port install octave-devel
$ sudo port install qtoctave-mac

さくらVPSへのoctaveのインストール

sageからoctaveを使えるようにするために、さくらVPSにoctaveをインストールしました。

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

そこで、以下の手順で既存のパッケージからのインストールを行いました。

$ 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

最新のバージョンをソースから作成する

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

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

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

手順は以下の通りです。

  • ドキュメントの作成でエラーになるので、--enable-docs=noとします
  • curlのバージョンが古いみたいでの、使わないように--without-curlとします
$ 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

問題なければ、インストールします。*1

$ sudo make install
$ make clean

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

$ sudo make uninstall

GNUPlotのバージョンが合わない

上手く行ったと思ったのもつかの間でした。gnuplotのバージョンが4.2.5以上でないと動かないことが判明。

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

$ 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のインストール

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

  • signalのインストールが大変
$ 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

パッケージのインストールは、

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が使えるようになったら、以下のコマンドが使えるようになります。

pkg list -forge
pkg install -local general
pkg update general

octave 3.4.3のスクリプト互換について

さくら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に以下の行を追加

path(path, '.', 'ホームディレクトリ/octave/deprecated');

コメント

選択肢 投票
おもしろかった 0  
そうでもない 0  
わかりずらい 0  

皆様のご意見、ご希望をお待ちしております。

  • さくらVPSでのoctaveのインストール方法を追加 -- 竹本 浩? 2012-03-25 (日) 19:04:42

(Input image string)


*1 私の場合、sqrmts.ccで1カ所FAILになりました

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2012-03-29 (木) 19:08:31 (4407d)
SmartDoc