From owner-freebsd-current Fri Dec 4 08:50:32 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id IAA22475 for freebsd-current-outgoing; Fri, 4 Dec 1998 08:50:32 -0800 (PST) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from wall.polstra.com (rtrwan160.accessone.com [206.213.115.74]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id IAA22469 for ; Fri, 4 Dec 1998 08:50:29 -0800 (PST) (envelope-from jdp@polstra.com) Received: from vashon.polstra.com (vashon.polstra.com [206.213.73.13]) by wall.polstra.com (8.9.1/8.9.1) with ESMTP id IAA06069; Fri, 4 Dec 1998 08:50:13 -0800 (PST) (envelope-from jdp@polstra.com) From: John Polstra Received: (from jdp@localhost) by vashon.polstra.com (8.9.1/8.9.1) id IAA02119; Fri, 4 Dec 1998 08:50:13 -0800 (PST) (envelope-from jdp@polstra.com) Date: Fri, 4 Dec 1998 08:50:13 -0800 (PST) Message-Id: <199812041650.IAA02119@vashon.polstra.com> To: aa8vb@pagesz.net Subject: Re: "ldconfig" strangeness on 3.0-RELEASE Newsgroups: polstra.freebsd.current In-Reply-To: <19981129102800.A1657@pagesz.net> Organization: Polstra & Co., Seattle, WA Cc: current@FreeBSD.ORG Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG In article <19981129102800.A1657@pagesz.net>, Randall Hopper wrote: > Two things I notice that are rather strange. Are these bugs? > 1) You can completely re-initialize the LD path for ELF, but not for AOUT. > An example to illustrate: ... > It seems that ldconfig won't let you remove /usr/lib/aout. Why? They dynamic linkers always search in the standard directory (/usr/lib/aout for a.out, /usr/lib for ELF) as a last resort, no matter what the ldconfig hints file says. I suppose the a.out ldconfig adds /usr/lib/aout automatically to make that search go faster. It also makes "ldconfig -r" tell the whole story about where shared libraries will be found. Probably the ELF ldconfig should do the same thing. It wouldn't help efficiency-wise for ELF. But it would make the "ldconfig -r" listing reflect reality better. > 2) In /etc/rc.conf, we have: > > $ldconfig_paths & $ldconfig_paths_aout > > but we also have: > > /etc/ld.so.conf & /etc/ld-elf.so.conf > > (as documented in the ldconfig(8) man page) as places to store LD paths. The man page is wrong. We don't have any such files as ld.so.conf, as far as I know. Richard Kuhns has been revising the man page, so hopefully it will become more accurate soon. > 3) Why aren't these two directories in the default $ldconfig_paths_aout (AOUT) > in /etc/rc.conf? AFAIK, they're all AOUT: > > /usr/lib/aout /usr/lib/compat /usr/lib/aout is added automatically by /etc/rc. Regarding /usr/lib/compat: it is _not_ a.out on an ELF system. On an ELF system, a.out compat libraries are in /usr/lib/compat/aout. Also, your rc.conf file may be out of date. The current version in /usr/src/etc says: ldconfig_paths="/usr/lib/compat /usr/X11R6/lib /usr/local/lib" ldconfig_paths_aout="/usr/lib/compat/aout /usr/X11R6/lib/aout /usr/local/lib/aout" > > 4) Why is this directory in the default $ldconfig_paths (ELF)? It's all AOUT: > > /usr/lib/compat No, it's all ELF on an ELF system. At least, it's supposed to be. Didn't "make move-aout-libs" move the a.out libraries down into /usr/lib/compat/aout when you ran it? John -- John Polstra jdp@polstra.com John D. Polstra & Co., Inc. Seattle, Washington USA "Nobody ever went broke underestimating the taste of the American public." -- H. L. Mencken To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message