ぜんぶなんとかなる

ふしみの雑文

El CapitanでDYLD_LIBRARY_PATHなどの動的ライブラリのPATHは使えない問題の解決法

OSX 10.11 El Capitan から導入された System Integrity Protection によって, DYLD_LIBRARY_PATHの書き換えはできなくなります.

forums.developer.apple.com

この環境変数を設定していた一部のライブラリなどに Library not loaded / image not found などのエラーが出ることがあります.

特に Caffe を OSX で動かしていたほぼすべてのヒトに影響が出ると思います.

注意してください.

解決法その1: System Integrity Protection を有効にする

System Integrity Protection を無効にすることで Recovery OS で起動して (起動時にcmd+R), コマンドラインから csrutil disableと入力することで SIP をオフにできる. ただしおそらくセキュリティ上の問題があるので推奨されない.

解決法その2: /usr/local/lib などにシンボリックリンクを貼る

DYLD_LIBRARY_PATH 上にあるdylibファイルたちに対するシンボリックリンクを, /usr/local/lib などに設置する.

ln -s /Developer/NVIDIA/CUDA-7.0/lib/* /usr/local/lib
ln -s /Users/ryohei/.pyenv/versions/anaconda-2.0.1/lib/* /usr/local/lib