ELRepo Bugtracker

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0000065 [channel: elrepo/el5] nvidia-x11-drv feature always 2010-05-19 03:55 2010-05-19 09:31
Reporter jlehtone View Status public  
Assigned To pperry
Priority normal Resolution open  
Status assigned  
Summary 0000065: /usr/bin/ld: cannot find -lcuda
Description 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/
Additional Information
Tags No tags attached.
Attached Files

- Relationships

-  Notes
(0000293)
pperry (administrator)
2010-05-19 04:30

Acknowledged.

Presumably Nvidia get around this because they dump everything into /usr/lib during the install.

If you come up with a way for us to fix this within the package (preferably other than installing to /usr/lib), I'll be happy to take a look.

Otherwise, I guess the easiest workaround, as you've identified, is to export LIBRARY_PATH in the session, or to use the nvidia installer on development machines where you will be compiling against nvidia binaries.
(0000294)
pperry (administrator)
2010-05-19 04:32

Obviously the reason we install to /usr/lib/nvidia is that it makes it far easier for RPM to handle files that are also present in the distro (e.g, libGL.so) that would otherwise create conflicts.
(0000295)
jlehtone (reporter)
2010-05-19 06:19

Well behaving RPM is a blessing. I think we have to live with the workarounds.

At least the issue is now documented somewhere.
(0000296)
pperry (administrator)
2010-05-19 09:31

Yes, thank you very much for the report.

- Issue History
Date Modified Username Field Change
2010-05-19 03:55 jlehtone New Issue
2010-05-19 03:55 jlehtone Status new => assigned
2010-05-19 03:55 jlehtone Assigned To => pperry
2010-05-19 04:30 pperry Note Added: 0000293
2010-05-19 04:32 pperry Note Added: 0000294
2010-05-19 06:19 jlehtone Note Added: 0000295
2010-05-19 09:31 pperry Note Added: 0000296


Mantis 1.1.8[^]
Copyright © 2000 - 2009 Mantis Group
Powered by Mantis Bugtracker