[SOLVED] CUDA driver version is insufficient for CUDA runtime version - Fedora 18+, rpmfusion driver

Fixed. See third post.

Hi,

I’m running Fedora 18 x86_64 with akmod-nvidia and nvidia driver version 319.60 from rpmfusion-nonfree, and a GTX 670. I have cuda-5.5 install from the cuda repo. Compilation with nvcc appears to work fine, but at runtime I get the “CUDA driver version is insufficient for CUDA runtime version” error.

$ lspci -v | grep -i nvidia
Kernel driver in use: nvidia
$ nvidia-settings -q NvidiaDriverVersion

  Attribute 'NvidiaDriverVersion' (calculus:0.0): 319.60
  Attribute 'NvidiaDriverVersion' (calculus:0[gpu:0]): 319.60

(Is it odd that this lists two items?)

$ uname -r
3.10.13-101.fc18.x86_64
$ ./deviceQuery
./deviceQuery Starting...

 CUDA Device Query (Runtime API) version (CUDART static linking)

cudaGetDeviceCount returned 35
-> CUDA driver version is insufficient for CUDA runtime version
Result = FAIL
$ cat /proc/driver/nvidia/version 
NVRM version: NVIDIA UNIX x86_64 Kernel Module  319.60  Wed Sep 25 14:28:26 PDT 2013
GCC version:  gcc version 4.7.2 20121109 (Red Hat 4.7.2-8) (GCC)
$ lsmod | grep -i nvidia
nvidia               9451598  40 
drm                   272315  2 nvidia
i2c_core               38420  3 drm,i2c_i801,nvidia
$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2013 NVIDIA Corporation
Built on Wed_Jul_17_18:36:13_PDT_2013
Cuda compilation tools, release 5.5, V5.5.0
$ nvidia-smi
Sat Oct  5 17:09:40 2013       
+------------------------------------------------------+                       
| NVIDIA-SMI 5.319.60   Driver Version: 319.60         |                       
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 670     Off  | 0000:01:00.0     N/A |                  N/A |
| 30%   29C  N/A     N/A /  N/A |      314MB /  2047MB |     N/A      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Compute processes:                                               GPU Memory |
|  GPU       PID  Process name                                     Usage      |
|=============================================================================|
|    0            Not Supported                                               |
+-----------------------------------------------------------------------------+

(I was previously running driver version 319.37 from the cuda repo, but since this doesn’t support the 3.10.x kernels, I removed it and moved to the latest driver from rpmfusion, which is I believe the latest long lived branch.)

I removed all traces of CUDA, leaving only the rpmfusion nvidia driver, then installed the toolkit from the .run file. I still get the insufficient driver warning.

Can anyone confirm that the toolkit runs with the 319.60 driver? I don’t see why it wouldn’t, but for me at least, it seems not to.

For anyone else who has this issue and finds this, I found a solution (which also fixes the same problem on Fedora 20 with rpmfusion-nonfree drivers; I’m using akmod-nvidia and all is now well) here on DevZone.

In short:

$ cd /usr/lib[64]/nvidia
$ sudo ln -s libcuda.so.1 libcuda.so
$ sudo ldconfig

Where it’s lib if you installed 32-bit drivers, lib64 if you installed 64-bit drivers.

For whatever reason, the rpmfusion-nonfree install doesn’t create the proper symlink for you. Note from the post(s) in the link above that the nvidia CUDA samples might still not compile for other reasons…

If that still isn’t working, make sure you have something like the below in /etc/ld.so.conf.d/ (file will not necessarily be named identically):

$ cat /etc/ld.so.conf.d/nvidia-lib64.conf
/usr/lib64/nvidia

and make it if not, then run sudo ldconfig again

Thanks UnWeave,
You saved my day.

That symbolic links worked for me.

Thanks again.

Glad it was of help to you.

As a bit of an update for anyone who stumbles across this through searching, I just upgraded my Fedora 20 install to Fedora 21 using FedUp. /usr/lib[64]/nvidia/libcuda.so[.1] was missing, and in fact, it turned out there was no libcuda.so anywhere on my system.

It seems libcuda (and a bunch of other related libraries) are now being packaged into xorg-x11-drv-nvidia-cuda, when they used to be in xorg-x11-drv-nvidia-libs. Note I am using rpmfusion-nonfree for all this, not NVIDIA’s repos.

I’ve installed nvidia-331 driver and JetPackTK1-1.0 but it didn’t helped me because I have 64 bit Ubuntu laptop but in is installed at /usr/lib32/nvidia-331 and there is no libcuda.so.1 in and there is nothing except pre-installer ascii file at /usr/lib/nvidia. Why it could be?

Under Ubuntu 14.04 I’m getting the same error and for me it is not working:

I have created a simbolic link for the libcuda.so in the directory /usr/lib/x86_64-linux-gnu, where my libcuda.so.1 is.

But the only result I got is that the error migrated from:

35 (CUDA driver version is insufficient for CUDA runtime version)

to:

30 (unknown error)

By recompiling samples, error code 35 was solved.