2012年3月13日火曜日

OpenBLAS on MacOSX がうまく行かない

SDPA が Windows バイナリがあるように MacOSXバイナリも作ろうと思ったのだが、OpenBLASがうまくコンパイルできていないことが分かった。

OpenBLAS のコンパイルまでは終わるのだが、そのあとでリンクしようとすると、


$ gcc-4 ../sample.c libopenblas.a
ld warning: in libopenblas.a, file is not of required architecture
Undefined symbols:
  "_dgemm_", referenced from:
      _main in ccBS2pnX.o
ld: symbol(s) not found
collect2: ld はステータス 1 で終了しました

となって dgemm が見つからない。
ただし、

$ nm libopenblas.a | grep "T _dgemm_" | head -1
nm: no name list
0000000000000000 T _dgemm_
であって、libopenblas.a に dgemm 自体は入っていることが分かる。

やはり、file is not of required architecture のエラーが怪しいが、このあたりはもう少し調べてみないと分からない。

MacOSX はLinuxやWindowsとは異なるOSなので、数値計算をしようとするとライブラリなどの面で準備されていないことが多く、しかも対応が難しい局面も多いように感じる。



今日の作業内容:OpenBLAS on MacOSX 2h + CHOLMOD チェック 2h
今日のランチ:シッダルータ ベジタブルカレー
明日の予測作業時間:2h

0 件のコメント:

コメントを投稿