Error in CMake build: missing jcudnn and variables set NOTFOUND

I’m attempting to build JCuda using the instructions

Here is the error.
ErrorFromCMake

in the build instructions, there is a list of git clone commands, I added one more for jcudnn with the same syntax and that eliminated the first part of my error output. However the part of the error related to “variables set to NOTFOUND” remains.

I appreciate any suggestions of what I’m missing.

You’re right, that point was still missing.

(JCudnn became part of the build infrastructure in the previous release. The reason why is hesitated to add it is that cuDNN is still only available for „NVIDIA registered developers“. But many people who want to use (and build) JCuda seem to be interested in JCudnn specifically…).

I just added JCudnn in the readme and the build instructions.


However, this doesn’t explain the second error. The strange thing is that it says "Found CUDA:", even with the right path and version, and still does not seem to find the libraries.

(The libraries should be found by the FindCUDA.cmake script at jcuda-common/CMake/FindCUDA.cmake at master · jcuda/jcuda-common · GitHub - this is basically a fork of the original one at CMake/Modules/FindCUDA.cmake at master · Kitware/CMake · GitHub , but as long as it works, I wouldn’t touch this with a ten feet pole - it’s really complicated…)

Two quick options:

  1. Remove the CMake files in the target directory, do a „File → Delete cache“ in the cmake-gui, and try again. Maybe some of the cache state was messed up by the missing JCudnn directory…

  2. Iff you need (or want to try out) the build process urgently, you could manually select the libraries - yeah, that would be a bit annoying to do through the CMake GUI :confused: but could be one path to „quickly“ creating a state (locally, for you) where the Makefiles/Project files can be generated.

Otherwise, you could also enable „Options → Debug Output“ in the CMake GUI. I’m not sure whether it will print something helpful here, but maybe we can somehow figure out why it doesn’t find the libraries automatically.