0000065: /usr/bin/ld: cannot find -lcuda
The library files are installed into /usr/lib{,64}/nvidia. Included file '/etc/ld.so.conf.d/nvidia.conf' makes the dynamic linker to find them. However, linking while compiling programs fails, because it uses different SEARCH_DIR. Expected result: * Compiler/linker finds "system libraries" automatically Workarounds: * add '-L/usr/lib64/nvidia' to linker's command-line (or sans the '64' in 32-bit system) * export LPATH=/usr/lib64/nvidia * export LIBRARY_PATH=/usr/lib64/nvidia The use of LD_LIBRARY_PATH is considered inferior to /etc/ld.so.conf.d/*.conf I do presume that this applies to LPATH/LIBRARY_PATH as well. However, I'm not aware whether ld/gcc has any equivalent for /etc/ld.so.conf.d/*.conf Package info: # rpm -qa gcc-c++ binutils nvidia/* centos-release nvidia-x11-drv-195.36.24-1.el5.elrepo.x86_64 gcc-c++-4.1.2-48.el5.x86_64 binutils-2.17.50.0.6-14.el5.x86_64 centos-release-5-5.el5.centos.x86_64 # ld --verbose | grep SEARCH_DIR | tr -s ' ;' //012 SEARCH_DIR("/usr/x86_64-redhat-linux/lib64") SEARCH_DIR("/usr/local/lib64") SEARCH_DIR("/lib64") SEARCH_DIR("/usr/lib64") SEARCH_DIR("/usr/x86_64-redhat-linux/lib") SEARCH_DIR("/usr/lib64")/etc/ld.so.conf.d/nvidia.conf SEARCH_DIR("/usr/local/lib") SEARCH_DIR("/lib") SEARCH_DIR("/usr/lib") # g++ -print-search-dirs | grep libraries | tr -s '=:' //012 libraries /usr/lib/gcc/x86_64-redhat-linux/4.1.2/ /usr/lib/gcc/x86_64-redhat-linux/4.1.2/ /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../x86_64-redhat-linux/lib/x86_64-redhat-linux/4.1.2/ /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../x86_64-redhat-linux/lib/ /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../x86_64-redhat-linux/4.1.2/ /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../ /lib/x86_64-redhat-linux/4.1.2/ /lib/ /usr/lib/x86_64-redhat-linux/4.1.2/ /usr/lib/ # LPATH=/usr/lib64/nvidia g++ -print-search-dirs | grep libraries | tr -s '=:' //012 libraries /usr/lib64/nvidia/x86_64-redhat-linux/4.1.2/ /usr/lib64/nvidia/ /usr/lib/gcc/x86_64-redhat-linux/4.1.2/ /usr/lib/gcc/x86_64-redhat-linux/4.1.2/ /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../x86_64-redhat-linux/lib/x86_64-redhat-linux/4.1.2/ /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../x86_64-redhat-linux/lib/ /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../x86_64-redhat-linux/4.1.2/ /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../ /lib/x86_64-redhat-linux/4.1.2/ /lib/ /usr/lib/x86_64-redhat-linux/4.1.2/ /usr/lib/