libgomp.dylib
[Mac][PC]gcc4.2なのにMacでopenMPが使えない
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は動かない。
Xcodeかsnow leopardのインストール時に自動でなんとかしてほしいものだけれど、そもそもこのライブラリを使うようなものがほとんどなく、見逃したのかもしれない?他に影響が出た時のためにログを取っておく。
ライブラリの勉強をしろと言われた矢先の出来事だったのに、この適当な作業。
本当に修行が足りません。