FreeBSD: ldconfig -v Lost Dynamic Linker Configuration

Posted on in Categories , , last updated March 29, 2009

I‘ve typed ldconfig -v (Linux like command) under FreeBSD 7.1_P4_64 bit to get list of directories used by system. But I lost all my configuration and getting shared object not found errors for almost all commands such as vim or bash and so on. How do I fix this problem without rebooting the system?

FreeBSD’s ldconfig binary does not work the same as the Linux. When you entered ldconfig -v, you lost all your configuration information loaded from the hints file.

The ldconfig utility is used to prepare a set of hints for use by the dynamic linker to facilitate quick lookup of shared libraries available in multiple directories. It scans a set of built-in system directories. To fix the problem, type the following command:
# /etc/rc.d/ldconfig restart
# /etc/rc.d/ldconfig forcerestart
To list the current contents of the hints file on the screen, type:
# ldconfig -r
# ldconfig -r | less

Sample Output:

        search directories: /lib:/usr/lib:/usr/lib/compat:/usr/local/lib:/usr/local/lib/compat/pkg:/usr/local/lib/mysql:/usr/local/lib/pth
        0:-lc.7 => /lib/
        1:-lcrypt.4 => /lib/
        237:-lpth.20 => /usr/local/lib/pth/
        238:-lpthread.20 => /usr/local/lib/pth/

/var/run/ is default FreeBSD hints file for the ELF dynamic linker stored at /libexec/ directory.

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin and a trainer for the Linux operating system/Unix shell scripting. He has worked with global clients and in various industries, including IT, education, defense and space research, and the nonprofit sector. Follow him on Twitter, Facebook, Google+.