View Single Post
Old 01-02-04, 11:31 AM   #8
Registered User
sphincter's Avatar
Join Date: Mar 2003
Posts: 154

Originally posted by zander
Even these older revisions of nvidia-installer place the appropriate NVIDIA libGL in /usr/lib/tls, however, which leaves the question why the libraries in /usr/X11R6/lib/tls have precedence, when they shouldn't:

[root@fedora root]# ldconfig -p | grep (libc6, hwcap: 0x8000000000000000) => /usr/X11R6/lib/tls/ (libc6, hwcap: 0x8000000000000000) => /usr/lib/tls/ (libc6) => /usr/lib/ (libc6, hwcap: 0x8000000000000000) => /usr/lib/tls/ (libc6) => /usr/lib/

[root@fedora root]# ldd /usr/X11R6/bin/glxgears => /usr/X11R6/lib/tls/ (0x00732000) => /usr/X11R6/lib/ (0x00101000) => /usr/X11R6/lib/ (0x00d20000) => /lib/tls/ (0x00147000) => /lib/tls/ (0x00cf7000) => /lib/tls/ (0x00bbc000) => /lib/ (0x00d1b000)
        /lib/ => /lib/ (0x00ba4000)
Either way, one can only hope that distributors such as RedHat and hardware vendors such as NVIDIA (as well as distributors/vendors among themselves) will find ways to coordinate their efforts more efficiently in the future.
I read an article about this awhile back. Basically, the lib search order is stored within the binary itself, so that's how the code was written and linked.

There are even some utilities out there for patching a binary to change the order, or even add new entries into the table.
It never gets easier, you just go faster. - Greg Lemond
sphincter is offline   Reply With Quote