Cuda install

来源:互联网 发布:v380监控软件官网 编辑:程序博客网 时间:2024/05/17 01:01

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/