MacでOctave
GNU Octaveという数値解析ソフトウェアがあります。
これをいつも使ってるiMacで利用したいと思い立ちました。その顛末です。
MacPortでOctaveをインストールする
まずMacPortでOctaveをインストールしようとしました。
MacPortを使うのは初めてなので
辺りを参考に手順を進めます。
で
$ sudo port selfupdate $ sudo port install octave
とすると、たくさんの依存関係があり、それを解決するためにいろんなものをインストールし始めました。
やがて curl-ca-bundle パッケージのインストールでchecksum errorが発生しました。
よく分かりませんが、パッケージ情報に紐づいてるチェックサムが間違ってるのでしょう。これはさっさと諦めます。
【追記】2010-11-20 01:53
コメントでチェックサムが修正されたことを教えていただきました。私もやってみてインストールできることを確認しました。
SourceForge.netからOctaveをインストールする
次にSourceForge.netからOctave、gnuplot、AquaTermをインストールしようとしました。
を参考にインストールを終えます。
で実行してみると...
octave-3.2.3:1> x=1:30 octave-3.2.3:2> plot(x,sin(x/pi)) dyld: Library not loaded: /usr/X11/lib/libfreetype.6.dylib Referenced from: /usr/X11R6/lib/libfontconfig.1.dylib Reason: Incompatible library version: libfontconfig.1.dylib requires version 13.0.0 or later, but libfreetype.6.dylib provides version 10.0.0
というエラーが出ます。
「libfontconfig.1.dylibはlibfreetype6.dylibのv13.0.0以降が必要なのに、今あるのはv10.0.0だよ」という意味です。いや、そう言われてもそれはAppleから提供されてるもんだし。。。
【追記】2010-11-15 04:15
otoolで見ると問題なさそうな気がするけど、見方間違ってるのかなぁ。$ otool -L /usr/X11/lib/libfontconfig.1.dylib ... /usr/X11/lib/libfreetype.6.dylib (compatibility version 13.0.0, current version 13.0.0) ... $ otool -L /usr/X11/lib/libfreetype.6.dylib /usr/X11/lib/libfreetype.6.dylib (compatibility version 13.0.0, current version 13.0.0) ...
【追記】2010-11-15 22:26
原因わかりました。octaveが古いライブラリのコピーを持ってて、そちらを先に参照させているようです。$ otool -L /Applications/Octave.app/Contents/Resources/lib/libfreetype.6.dylib /tmp/deps-i386/lib/libfreetype.6.dylib (compatibility version 10.0.0, current version 10.18.0) ...対策としては、octaveのソースを取得して再ビルドすべきかな。
私は/Applications/Gnuplot.app/Contents/Resources/bin/gnuplotを編集して次の一行を36行目辺りに追加しました。一応問題なく動いています。
DYLD_LIBRARY_PATH=$(echo $DYLD_LIBRARY_PATH | awk '{gsub(/[^:]*\/Octave\.app\/[^:]*:/,"");print}')
調べてみると、最近のMacOS Xのアップデート(v10.6.4 → v10.6.5)から出始めた問題らしいです。知らんけど。
システムのライブラリを置き換えるのは躊躇われるので、これはあきらめます。
VirtualBox on MacとUbuntuにoctaveをインストールする
次にMac上でVirtualBox(VMWareみたいなもの)を動かし、そのうえでUbuntuを動かし、Ubuntuにoctaveをインストールすることにしました。一応Mac上でoctaveが使うことになります。(^_^)
からVirtualBoxと仮想マシンイメージをダウンロードし、仮想マシンイメージをzip解凍してからVirtualBoxに登録します。
あとはUbuntu上で
$ sudo apt-get install octave $ sudo apt-get install gnuplot-x11
とし、インストール完了。