MAC OS X 10.9 で次のパッケージをダウンロードしてインストールしました。
ArrayFire-maci-1.9-20121120.zip
cuda-mac-5.5.28_10.9_64.pkg
helloworld サンプルのビルドに成功すると、次の出力が得られます。
c++ -m64 -Wall -Werror -I../../include -I/usr/local/cuda/include -O3 -DNDEBUG -L../../lib -laf -lafGFX -L/usr/local/cuda/lib -lcuda -lcudart -lcurand -lcusparse -lpthread -lstdc++ -lm -Wl,-rpath,../../lib,-rpath,/opt/arrayfire/lib,-rpath,/usr/local/cuda/lib
helloworld.cpp -o helloworld
ただし、helloworld 実行可能ファイルを実行しようとすると、次のエラーが発生します。
./helloworld dyld: Library not loaded: @rpath/libcufft.5.5.dylib Referenced from: /opt/arrayfire/lib/libaf.dylib Reason: Incompatible library version: libaf.dylib requires version 5.5.0 or later, but libcufft.5.5.dylib provides version 0.0.0 Trace/BPT trap: 5
ただし、otool の出力によると、dylib ライブラリのバージョンは正しいです。
otool -L /usr/local/cuda/lib/libcufft.dylib libcufft.dylib: @rpath/libcufft.5.5.dylib (compatibility version 0.0.0, current version 5.5.28) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 159.1.0)
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (互換バージョン 150.0.0、現在のバージョン 635.21.0)
/usr/lib/libstdc++.6.dylib (互換バージョン 7.0.0、現在のバージョン 52.0. 0)
この問題を克服する方法を知っている人はいますか?