2010年1月14日木曜日

Mac と Matlab と gcc4.3

今日は、数値実験を Mac でできるように Matlab をチェック。
結論から書くと、gcc4.3 の shared library をロードしてから MatlabR2008b を起動すると、クラッシュする。しかも、これが簡単には治せないようだ。

以下、あとでまた参考になるかもしれないので、メモ。

Mac の場合、どの shared library が載るかは
export DYLD_PRIT_LIBRARIES=
とすると解かる。ただし、ls を実行しただけでも表示されるので、shared library を調べるときだけに利用したほうがいい。

あと、shared library をMatlabに渡すには
$ export DYLD_LIBRARY_PATH=パス1:パス2
のようにする。複数あるときはコロンでつなぐ。
ただし、DYLD_LIBRARY_PATH は Matlab が利用するパスのあとに追加されるので、Matlab の shared library よりも先に指定したい場合には、
(MATLABのディレクトリ)/bin/.matlab7rc.sh
の途中で
LDPATH_PREFIX=''
という行を書き換える。
(デフォルトで '' なので、シェルスクリプトから export LDPATH_PREFIX としても、打ち消されてしまう。)

これらの情報をもとに
LDPATH_PREFIX='/sw/lib/gcc4.4/lib'
と書き換えてみたが、見事にクラッシュする。
どうやら、/sw/lib/gcc4.4/lib/libstdc++.6.dylib の ostream 関係と不具合を起こすらしい。


やはり、Matlab を R2009a/R2009b にするべきであろうか?
でも、R2009 から MKL のインターフェースが変更になってしまっていて、うまくいかない可能性が高い。

Mac OS X はまだまだ解からないだらけである。
明日も時間を作って調べることにしよう。

今日の作業内容: Mac 下調べ 6h
今日のBGM: EVA OST [1-3]
今日のランチ: いろは アスパラチーズ豚肉
明日の予測作業時間: 4h

0 件のコメント:

コメントを投稿