Невозможно запустить пример Helloworld ArrayFire под OS X 10.9

Я загрузил и установил следующие пакеты под 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

Но версия библиотеки dylib верна в соответствии с выводом otool:

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)

Есть ли у кого-нибудь идеи, как побороть эту проблему?


person user3586843    schedule 29.04.2014    source источник


Ответы (1)


Вам также необходимо установить DYLD_LIBRARY_PATH в вашем .bash_profile

export DYLD_LIBRARY_PATH=$AF_PATH/lib:$DYLD_LIBRARY_PATH
export DYLD_LIBRARY_PATH=$CUDA_PATH/lib:$DYLD_LIBRARY_PATH
person ziv    schedule 16.04.2015