2017-03-02 32 views
0

私はCudaとOpencvでdarknet(YOLO)をコンパイルしようとしていました。私はそれらをコンパイルし、エラーはありませんが、このような警告があります:私はhttps://pjreddie.com/darknet/yolo/から例をしようとすると、エラーが出てくるlibcudart.so.7.5:共有オブジェクトファイルを開くことができません:そのようなファイルやディレクトリはありません

/usr/bin/ld: warning: libcudart.so.7.5, needed by /usr/local/lib/libopencv_core.so, not found (try using -rpath or -rpath-link)  

が。

./darknet: error while loading shared libraries: libcudart.so.7.5: cannot open shared object file: No such file or directory 

私はこれを解決する方法がわかりません。以下は

私はオプションを使用していたhttp://milq.github.io/install-opencv-ubuntu-debian/

sudo apt-get install libopencv-dev python-opencv 

から示すように、私は、このコマンドを使用してOpenCVのをインストールし、私のシステム

この

nvcc: NVIDIA (R) Cuda compiler driver 
Copyright (c) 2005-2016 NVIDIA Corporation 
Built on Sun_Sep__4_22:14:01_CDT_2016 
Cuda compilation tools, release 8.0, V8.0.44 

でターミナル結果にnvcc -Vを入力

OS = Ubuntu 16.04 LTS 
CUDA = 8.0 
OPENCV = 2.4 

ですページの2つではなく、の間のプロセスは、それが次のエラー

modules/cudalegacy/CMakeFiles/opencv_cudalegacy.dir/build.make:2982: recipe for target 'modules/cudalegacy/CMakeFiles/opencv_cudalegacy.dir/src/graphcuts.cpp.o' failed 
make[2]: *** [modules/cudalegacy/CMakeFiles/opencv_cudalegacy.dir/src/graphcuts.cpp.o] Error 1 
CMakeFiles/Makefile2:16054: recipe for target 'modules/cudalegacy/CMakeFiles/opencv_cudalegacy.dir/all' failed 
make[1]: *** [modules/cudalegacy/CMakeFiles/opencv_cudalegacy.dir/all] Error 2 
make[1]: *** Waiting for unfinished jobs.... 
[ 59%] Linking CXX shared library ../../lib/libopencv_photo.so 
[ 59%] Built target opencv_photo 
Makefile:160: recipe for target 'all' failed 
make: *** [all] Error 2 

を返す私はすでに.bashrc内CUDAのためにパスを入れて、それをリロードするが、同じエラーが表示されます。 は以下

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64" 
export CUDA_HOME=/usr/local/cuda 
export PATH=${CUDA_HOME}/bin:${PATH} 

.bashrcはあなたの助けをありがとう、私の内部のCUDAのパスです。

答えて

2

OpenCVでバージョン7.5のCUDAランタイムが必要であることを示すエラーメッセージが表示されます(つまり、そのバージョンのCUDAに対してコンパイルされたものです)。 インストールされているバージョンのCUDAは8.0です。 OpenCVのため。CUDA 8.0に対する

ビルドOpenCVの、またはCUDA 7.5をインストールして、LD_LIBRARY_PATHにライブラリディレクトリを追加します。

技術的にはあなたも好ましく、すなわち単にLD_LIBRARY_PATHにCUDA 7.5ライブラリディレクトリを追加する(混合ビルドを試みることができますの後はCUDA 8.0のパス)。 CUDAランタイムはおそらく問題につながるでしょう(私は決して試したことがありません)。

+0

CUDAの再インストールに戻らないことを願っています。なぜなら、前に遭遇したXサーバのエラーのために、それが私のお尻に痛みを与えていたからです。とにかく、あなたはcuda 8.0に対してooencvをコンパイルすると言っています。つまり、ソースからopencvをコンパイルする必要がありますか?(githubリポジトリからソースファイルをダウンロードし、 'cmake'を使ってビルドし' make'を実行します)そのためのコマンドライン?(sudo apt-get install ...)あなたの答えをありがとう – Fang

0

これは、私と同じ問題を抱えている他の人のための解決策です。私はここでdaveselingerからの提案を使用します。https://github.com/opencv/opencv/issues/6677

git cloneリポジトリとgit checkout 3.1.0 with cuda 8(リンクを参照)。その後、ちょうどcmakemake

私のために働いた。

関連する問題

 関連する問題