共有ライブラリの依存関係の階層の検出

共有ライブラリの依存関係の階層の検出

ローカルでコンパイルしcaffe、テストを実行しようとすると、make runtests次のエラーが発生します。

libcudart.so.9.0: 共有オブジェクトファイルを開けません: そのようなファイルまたはディレクトリはありません

CUDA 8.0 がインストールされており、互換性の問題により 9.0 をインストールできないことに注意してください。そこで、ldd caffe何が起こっているのか確認してみると、予想どおり 1 行が表示されます。

libcudart.so.8.0 => /usr/local/cuda-8.0/lib64/libcudart.so.8.0

しかし、その後に次のことが起こります。

libcudart.so.9.0 => not found

共有モジュールのどれに不正な依存関係があるかを判断するにはどうすればよいでしょうか? 依存関係の階層を何らかの方法で取得して、どのモジュールが 8.0 ではなく 9.0 を必要としているかを確認することはできますか?

関連情報