-
links keep resetting -- I'm blaming ldconfig
Hey,
I'm having a problem iwth my nvidia driver links. In specific:
/usr/lib/libnvidia-tls.so.1
/usr/lib/tls/libnvidia-tls.so.1
I'm running slackware 10.2 and I'm prety sure that my problem is cause by the /sbin/ldconfig that is run every time I reboot my computer, but I don't know how to fix it.
What I think is happening is that /sbin/ldconfig is resetting those links to another driver, maybe my previous driver, nv.
The only process that I've found to fix the problem is reinstall the nvidia driver, repair the links, copy the new drivers xorg.conf files(already made and tested before I rebooted).
Here are things I've done to narrow it down to /sbin/ldconfig.
I changed settings in my xorg.conf and got it running the first time. I do three things, browse the net, do some web development, images etc. and the occasional game. I have started and done all of these and then stopped and restarted X using both kde and xfce.
I also tried changing settings in the /etc/X11/xorg.conf file, like turning of the nvidia logo. These all worked fine. As soon as I reboot I have to reinstall the driver and reset the links to get it to work again, doing just one or the other does not work.
Can I stop ldconfig from running at boot without any worries? Is this even what you would suspect is causing my problems?
P.S.
I've also tried other drivers from the 6xxx and the 7xxx series and have the same results. It's been like this since I can remember. Someone I know running a GeForce 4 MMX440 using the same driver, linux 32bit x86 1.0.7676 slackware 10.2, is not having this problem.
Last edited by acid45; 10-30-2005 at 06:44 PM.
"Getting information from the internet is like taking a drink from a fire hydrant." - Mitchell Kapor
-
Can I stop ldconfig from running at boot without any worries? Is this even what you would suspect is causing my problems?
You can disable ldconfig running at startup by commenting out the respective lines in /etc/rc.d/rc.M but I doubt that this is causing your problem. If you use udev take a look at the last post here
-
Thanks!
Well, I'm heading out for the bus and taking a quick look at the post, it seems longer than 10 minutes so I'll have to wait until after work. I'm not sure if I'm using udev, never heard of it. This has been one problem I've learned to live with, unwillingly.
"Getting information from the internet is like taking a drink from a fire hydrant." - Mitchell Kapor
-
Well, it's a pretty simple task to see whether ldconfig is causing your problem:
1. Check the status of the symlink
2. Run ldconfig as root (you may need to "/sbin/ldconfig")
3. Recheck the status of the symlink
If it's pointing somewhere else at 3, then ldconfig is the problem.
ldconfig only really does one thing that changes the filesystem (it also updates the ld.so.cache file, but that doesn't do anything with symlinks). For each file (non-symlink) in the affected directories (/lib, /usr/lib, sometimes /usr/lib/tls), it figures out the "soname" of that library. Then it looks at all other files that have the same "soname", and creates a symlink whose name is the "soname" of the library, and which points at the most recent version.
So, I would guess that your problem is that you have another libnvidia-tls.so.1.* file in those directories. What shows up when you:
ls -l /usr/lib/libnvidia-tls.so.1*
? You probably have to remove (or to be safe, move) one or more files that have a newer version than the one you want to use.
-
Actualy I have to do the following to reset my links because I can't remember their names off by heart yet.
ls -l /etc/lib/libnvidia* and that outputs two files.
libnvidia-tls.so.1
libnvidia-tls.so.1.0.7676
and the only two files in /usr/lib/tls are the same filename as the above two. I'll give taht post a shot in a minute.
"Getting information from the internet is like taking a drink from a fire hydrant." - Mitchell Kapor
-
Okay it's the weekend and I've properly blamed ldconfig. However, that runs also while the computer is running from time to time.
wayne@roxbox:~$ ls -l /usr/lib/tls
total 5
lrwxrwxrwx 1 root root 34 2005-11-12 17:16 libnvidia-tls.so.1 -> /usr/lib/libnvidia-tls.so.1.0.7676*
-rwxr-xr-x 1 root root 2324 2005-11-07 03:06 libnvidia-tls.so.1.0.7676*
wayne@roxbox:~$ su root
Password:
root@roxbox:/home/wayne/# ldconfig
root@roxbox:/home/wayne/# ls -l /usr/lib/tls
total 5
lrwxrwxrwx 1 root root 25 2005-11-12 17:17 libnvidia-tls.so.1 -> libnvidia-tls.so.1.0.7676
-rwxr-xr-x 1 root root 2324 2005-11-07 03:06 libnvidia-tls.so.1.0.7676
root@roxbox:/home/wayne/#
Do I need the file /usr/lib/tls/libnvidia-tls.so.1.0.7676
Doesn't seem so. I renamed the file /usr/lib/tls/libnvidia-tls.so.1.0.7676 to /usr/lib/tls/libnvidia-tls.so.1.0.7676.OLD and ldconfig stopped causing issues.
Last edited by acid45; 11-13-2005 at 01:20 PM.
Reason: change from Do I need the file /usr/lib/libnvidia-tls.so.1.0.7676 to Do I need the file /usr/lib/tls/libnvidia-tls.so.1.0.7676
"Getting information from the internet is like taking a drink from a fire hydrant." - Mitchell Kapor
-
Originally Posted by acid45
wayne@roxbox:~$ ls -l /usr/lib/tls
total 5
lrwxrwxrwx 1 root root 34 2005-11-12 17:16 libnvidia-tls.so.1 -> /usr/lib/libnvidia-tls.so.1.0.7676*
Why?
You should not have symlinks from /usr/lib/tls pointing into /usr/lib. Red Hat (back when it was Red Hat) came up with that convention -- put libraries that support TLS/NPTL in a separate directory from libraries that don't. And nvidia's drivers picked up on that. The library in /usr/lib/tls is different than the one in /usr/lib -- you do not want to get them intermixed by messing with symlinks.
root@roxbox:/home/wayne/# ldconfig
root@roxbox:/home/wayne/# ls -l /usr/lib/tls
total 5
lrwxrwxrwx 1 root root 25 2005-11-12 17:17 libnvidia-tls.so.1 -> libnvidia-tls.so.1.0.7676
This is the way it should be set up.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
|