[[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