setting LD_LIBRARY_PATH for CUDA

Installing the CUDA toolkit results in the following instructions being printed to the console.

Please make sure your LD_LIBRARY_PATH for 64-bit Linux distributions includes /usr/local/cuda-5.0/lib64:/usr/local/cuda-5.0/lib

OR

for 64-bit Linux distributions add /usr/local/cuda-5.0/lib64 and /usr/local/cuda-5.0/lib to /etc/ld.so.conf and run ldconfig as root

The following code in /etc/profile had no effect.

if [ -z "$LD_LIBRARY_PATH" ]; then    
  LD_LIBRARY_PATH=/usr/local/cuda-5.0/lib64:/usr/local/cuda-5.0/lib
else
  LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-5.0/lib64:/usr/local/cuda-5.0/lib
fi
export LD_LIBRARY_PATH

That is, rebooting and issuing echo $LD_LIBRARY_PATH showed the variable was not defined.

To try the alternative suggestion, I added the two lines to the file /etc/ld.so.conf so my file looks like this

include /etc/ld.so.conf.d/*.conf 
/usr/local/cuda-5.0/lib64
/usr/local/cuda-5.0/lib

Then I issued:

sudo ldconfig

then

echo $LD_LIBRARY_PATH

Still the environment variable was not set. How do I comply with the CUDA installation instructions shown above?


Add a file with the .conf extension to /etc/ld.so.conf.d/ that contains the paths to the libraries and then run ldconfig. Be sure to set the permissions and ownership of the file to match the other files in the directory.

This is a system wide solution as opposed to the user specific solution of modifying .bashrc.

On my system I made nvidia.conf in /etc/ld.so.conf.d/. The file contains the lines:

/usr/local/cuda-5.0/lib64
/usr/local/cuda-5.0/lib

If you create the file as sudo then your permissions should be good to go, but my nvidia.conf is owner/group root and rw-r--r-- (or 644).


Put the following in .bashrc.

if [ -z $LD_LIBRARY_PATH ]; then
  LD_LIBRARY_PATH=/usr/local/cuda-5.0/lib64:/usr/local/cuda-5.0/lib
else
  LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-5.0/lib64:/usr/local/cuda-5.0/lib
fi
export LD_LIBRARY_PATH