libgomp.dylib

[Mac][PC]gcc4.2なのにMacopenMPが使えない

libgomp.dylibがx86_64のアーキテクチャになっていないと言われ、
gcc4.2にしたにも関わらずopenMPが使えない。

作業ログ

openMPを使うにはgcc4.2以上が必要
かつ
Xcodeの最新版にはgcc4.2が同梱されている
ということで、Xcodeのversion upを図ったのだけど、今度はそのためにsnow leopardが必要だと言われた。
買っておいたsnowの出番と思いinstallし、Xcodeも入れた。
なのに、上記

ld: warning: in /usr/local/lib/libgomp.dylib, file was built for ppc which is not the architecture being linked (x86_64)

errorのために動かない。

対処

ネットにほとんど情報がなくてどうしようかと思ったけれど、/usr/local/libの下にx86_64/libgomp.dylibがあったので、そちらに/usr/local/lib/libgomp.dylibのリンク先を変更した。

sudo mv /usr/local/lib/libgomp.dylib /usr/local/lib/libgomp.dylib.old
sudo ln -s /usr/local/lib/x86_64/libgomp.dylib /usr/local/lib/libgomp.dylib

でとりあえず動いた。

snow leopardは64bitのアーキテクチャなので32bitは動かない。
Xcodesnow leopardのインストール時に自動でなんとかしてほしいものだけれど、そもそもこのライブラリを使うようなものがほとんどなく、見逃したのかもしれない?他に影響が出た時のためにログを取っておく。

ライブラリの勉強をしろと言われた矢先の出来事だったのに、この適当な作業。
本当に修行が足りません。