Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 28 May 2007 15:11:34 +0200
From:      clemens fischer <ino-news@spotteswoode.dnsalias.org>
To:        freebsd-x11@freebsd.org
Subject:   want to remove /usr/X11R6 from $ldconfig_paths
Message-ID:  <20070528131131.GA944@spotteswoode.de.eu.org>

next in thread | raw e-mail | index | archive | help
'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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070528131131.GA944>