links keep resetting -- I'm blaming ldconfig


Results 1 to 7 of 7

Thread: links keep resetting -- I'm blaming ldconfig

  1. #1
    Join Date
    Sep 2002
    Location
    Canada
    Posts
    565

    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

  2. #2
    Join Date
    Nov 2003
    Posts
    105
    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

  3. #3
    Join Date
    Sep 2002
    Location
    Canada
    Posts
    565
    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

  4. #4
    Join Date
    Apr 2001
    Location
    SF Bay Area, CA
    Posts
    14,936
    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.

  5. #5
    Join Date
    Sep 2002
    Location
    Canada
    Posts
    565
    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

  6. #6
    Join Date
    Sep 2002
    Location
    Canada
    Posts
    565
    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

  7. #7
    Join Date
    Apr 2001
    Location
    SF Bay Area, CA
    Posts
    14,936
    Quote 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
  •