want to remove /usr/X11R6 from $ldconfig_paths
clemens fischer
ino-news at spotteswoode.dnsalias.org
Mon May 28 16:13:51 UTC 2007
'uname -rms' -> FreeBSD 6.2-STABLE i386, upgrade to X117.2 went fine.
running "libchk" i get "unreferenced libraries" pointing to libs in
/usr/local/lib, because ldconfig(8) caches them with a path starting
/usr/X11R6. so i'd like to remove this path from $ldconfig_paths:
$ egrep ldconf /etc/rc.conf*
/etc/rc.conf.local:ldconfig_insecure=NO
/etc/rc.conf.local:##ldconfig_paths="${ldconfig_paths}"
/etc/rc.conf.local:##ldconfig_paths="/lib:/usr/lib"
/etc/rc.conf.local:##ldconfig_paths="${ldconfig_paths}:/usr/lib/compat"
/etc/rc.conf.local:#ldconfig_paths="/usr/lib/compat"
/etc/rc.conf.local:#ldconfig_paths="${ldconfig_paths}:/usr/local/lib"
/etc/rc.conf.local:#ldconfig_paths="${ldconfig_paths}:/usr/local/lib/compat/pkg"
/etc/rc.conf.local:#ldconfig_paths="${ldconfig_paths}:/usr/local/lib/compat"
/etc/rc.conf.local:#ldconfig_local_dirs="${ldconfig_local_dirs}:/usr/local/lib"
/etc/rc.conf.local:#ldconfig_local_dirs="/usr/local/lib:${ldconfig_local_dirs}"
when i remove one comment level from the lines starting with
"#ldconfig_paths=", i cannot start X11. this is because the programs
don't find the libX* libs in /usr/local/lib, which in turn is caused by
a ldconfig path containing all the libs given, but _without_
/usr/local/lib!
i checked in a bourne-shell by sourcing /etc/rc.conf.local and echo'ing
$ldconfig_paths: the sirectories are set the way i want them to be, but
on reboot, /usr/local/lib is missing. only with these lines commented
out i get:
$ ldconfig -r|head
/var/run/ld-elf.so.hints:
search directories: /lib:/usr/lib:/usr/lib/compat:/usr/X11R6/lib:/usr/local/lib:/usr/local/lib/compat/pkg:/usr/local/lib/compat
0:-lcrypt.3 => /lib/libcrypt.so.3
1:-lkvm.3 => /lib/libkvm.so.3
2:-ldevstat.5 => /lib/libdevstat.so.5
3:-lncurses.6 => /lib/libncurses.so.6
4:-lcrypto.4 => /lib/libcrypto.so.4
5:-lncursesw.6 => /lib/libncursesw.so.6
6:-lm.4 => /lib/libm.so.4
7:-lalias.5 => /lib/libalias.so.5
the file /etc/rc.d/ldconfig doesn't seem to impose any magic.
since the upgrade worked, but installed over 200 new packages, it is
time to verify that no unused/unmaintained libs remain on the system,
but libchk doesn't know about the symlink X11R6 -> local. also,
programs without hardwired lib-paths don't need to know, either. thus,
in the long run the symlink isn't needed, it causes a little trouble and
i want to get rid of it, but why is setting ldconfig_paths in
etc/rc.conf.local enough to achieve this?
regards, clemens
More information about the freebsd-x11
mailing list