1

I have two versions of CUDA installed: 7.0 and 7.5. These are located at /usr/local/cuda-7.0 and /usr/local/cuda-7.5 respectively. I also have a symbolic link at /usr/local/cuda which points to /usr/local/cuda-7.5. I also have OpenCV 3.0 installed, which I compiled from source.

In my C++ project, my CMakeLists.txt file contains the line find_package(OpenCV REQUIRED). However, when running cmake, I get the following error:

Trying to find version: 7.0
CMake Error at /usr/share/cmake-3.2/Modules/FindPackageHandleStandardArgs.cmake:138 (message):
  Could NOT find CUDA: Found unsuitable version "7.5", but required is exact
  version "7.0" (found /usr/local/cuda)
Call Stack (most recent call first):
  /usr/share/cmake-3.2/Modules/FindPackageHandleStandardArgs.cmake:372 (_FPHSA_FAILURE_MESSAGE)
  /usr/share/cmake-3.2/Modules/FindCUDA.cmake:855 (find_package_handle_standard_args)
  /usr/local/share/OpenCV/OpenCVConfig.cmake:49 (find_package)
  /usr/local/share/OpenCV/OpenCVConfig.cmake:274 (find_host_package)
  CMakeLists.txt:8 (find_package)

I am very confused about what this is trying to tell me. Is it that OpenCV was compiled with CUDA 7.0, and so when I run find_package(OpenCV REQUIRED), it also tries to find CUDA 7.0, but it can only find CUDA 7.5? If this is the case, then why can it not find CUDA 7.0, given that I have this installed? Or is it to do with the symbolic link? Or perhaps FindCUDA.cmake?

Thanks for any help!

0

You must log in to answer this question.

Browse other questions tagged .