📅 2015-Mar-27 ⬩ ✍️ Ashwin Nanjappa ⬩ 🏷️ cmake, cuda, error ⬩ 📚 Archive
You have installed CUDA and try to compile a CUDA program using a CMake, which fails with this error:
$ cmake ..
CMake Error at /usr/share/cmake-2.8/Modules/FindCUDA.cmake:548 (message):
Specify CUDA_TOOLKIT_ROOT_DIR
Call Stack (most recent call first):
CMakeLists.txt:3 (find_package)
FindCUDA.cmake
is trying to find your CUDA installation directory and failing. I had installed CUDA 7.0 on this machine, which was in /usr/local/cuda-7.0
. However, CMake looks for /usr/local/cuda
. The CUDA installer is supposed to create a symbolic link /usr/local/cuda
pointing to that actual installation directory.
That symbolic link was not there on this computer. This can sometimes happen when you have two CUDA installations and remove one of them. The one removed takes out the symbolic link with it. I had CUDA 6.5 and CUDA 7.0 on this computer before I removed CUDA 6.5.
Anyway, we now know how to fix this:
$ sudo ln -s /usr/local/cuda-7.0 /usr/local/cuda
Pass the CUDA installation directory to the CUDA_TOOLKIT_ROOT_DIR
variable directly during the invocation of CMake:
$ cmake -D CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-7.0 ..
Tried with: CUDA 7.0 and Ubuntu 14.04