shooting oneself in the foot with "ldconfig -v"

Jonathan Noack noackjr at alumni.rice.edu
Wed Oct 10 15:08:14 PDT 2007


Hey folks,
I'm running 6.2-p8 and was trying to clean up my "portsclean -L" output
today.  It was reporting tons of duplicate libraries in /usr/X11R6 and
/usr/local even though X11R6 is an alias to /usr/local.  I tracked the
problem to portclean's use of `ldconfig -elf -r` which was reporting
directories and libraries in /usr/X11R6.  I read the ldconfig manpage in
an attempt to understand more and saw this line:
     -v      Switch on verbose mode.

I told myself, "Self, the '-v' option may allow you to determine what's
going on.  It can't help knowing more!"  Alas, the "-v" option doesn't
behave as advertised.  Instead it clears the shared library cache
(reference: http://www.parsed.org/tip/231/).  An empty shared library
cache means all dynamically-linked programs fail.  This has the wonderful
side-effect of preventing me from logging into the box to fix it (I logged
off before I figured this out).  "Reboot and all will be well," you say? 
Yes, on boot /etc/rc.d/ldconfig is run and it builds the shared library
cache.  Unfortunately, the box is 1,000 miles away in my apartment.  :(

This brings me to the question:
Is the "-v" option broken or is the documentation out of date?

Thanks,
-Jon



More information about the freebsd-questions mailing list