2010年1月15日金曜日

Mac と Matlab と gcc4.3 (つづき)

今日も、昨日にひきつづいて Matlab について調べていたが、なんと MatlabR2008b は Mac 版は 32bit しかなかったことが判明。
うっかり 64bit だと思い込んでいたのがミスだった。
どうやら、fink にも 32bit, 64bit があるようで、fink でコンパイルされた atlas は 32bit 用のものだった。
つまり、SDPA の executables も 32bit だった。

そこで、atlas をソースからコンパイルしなおして、64bit 版の SDPA の executable を作成した。64bit 版のファイルかどうかは、

$ file ./sdpa
で解かって、ここで
sdpa: Mach-O 64bit executables x86_64
と表示される。Matlab については、
$ file /Applications/MATLAB_R2008b.app/bin/maci/MATLAB
とすると、
/Applications/MATLAB_R2008b.app/bin/maci/MATLAB: Mach-O executables i386
となって、32bit であることが解かる。

ちなみに、gcc に -m32 をつけたまま 64bit ライブラリとリンクしようとすると、
file is not of required architecture
と怒られる。つまり、-m32 なら全部を32bit, -m64 なら全部を64bit にしないと、上のようなエラーメッセージが出力されるようだ。

とりあえず、executables は 64 bit になったので、来週の頭に MatlabR2009b をインストールして、そこで SDPA-M をコンパイルしなおして確認してみよう。


あとは、SNL の入力用のサンプルを作ってみた。
SFSDP で解くと、思っていたのと違う答えが出てくるときがあるので、これについても来週調べることにしよう。
あと、rand('seed',1) で乱数を固定しているのに違う生成が起こるので、これも調べる必要があり。

今日の作業内容: Matlab 4h + SNL 2h
今日のBGM: EVA OST [1-3]
今日のランチ: らく うな重
明日の予測作業時間: 5h

0 件のコメント:

コメントを投稿