Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 29 Nov 2012 14:44:12 -0700
From:      Ian Lepore <freebsd@damnhippie.dyndns.org>
To:        Doug Hardie <bc979@lafn.org>
Cc:        Devin Teske <dteske@freebsd.org>, FreeBSD-STABLE Mailing List <freebsd-stable@freebsd.org>, Devin Teske <devin.teske@fisglobal.com>
Subject:   Re: Library Problem
Message-ID:  <1354225452.69940.330.camel@revolution.hippie.lan>
In-Reply-To: <1D1FA129-89FD-49EA-ADB4-8F0177E092DC@lafn.org>
References:  <4AA267EA-8FC8-42E8-A885-F22F4DC524D0@lafn.org> <997CEAC4-4F57-4C33-BDCE-EE21AD607DC0@fisglobal.com> <D3773280-56F8-47B9-BC26-3921A0AF5FFB@lafn.org> <20121129140103.GA27849@in-addr.com> <1D1FA129-89FD-49EA-ADB4-8F0177E092DC@lafn.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 2012-11-29 at 13:33 -0800, Doug Hardie wrote:
> On 29 November 2012, at 06:01, Gary Palmer wrote:
> 
> > On Wed, Nov 28, 2012 at 10:46:51PM -0800, Doug Hardie wrote:
> >> 
> >> On 28 November 2012, at 20:01, Devin Teske wrote:
> >> 
> >>> 
> >>> On Nov 28, 2012, at 7:36 PM, Doug Hardie wrote:
> >>> 
> >>>> I have installed 4 systems from the same FreeBSD 9.1-RC3 disk.  Three of them worked just fine.  The last one is causing a problem.  It will not look in /usr/local/lib/ for shared libraries.  I did the standard install, moved in some source, compiled it and tried to run it.  The library is there.  On the working systems ktrace shows:
> >>>> 
> >>>> 2259 intro    CALL  access(0x28066000,0<F_OK>)
> >>>> 2259 intro    NAMI  "/lib/libsermons.so"
> >>>> 2259 intro    RET   access -1 errno 2 No such file or directory
> >>>> 2259 intro    CALL  access(0x28066000,0<F_OK>)
> >>>> 2259 intro    NAMI  "/usr/lib/libsermons.so"
> >>>> 2259 intro    RET   access -1 errno 2 No such file or directory
> >>>> 2259 intro    CALL  access(0x28066000,0<F_OK>)
> >>>> 2259 intro    NAMI  "/usr/lib/compat/libsermons.so"
> >>>> 2259 intro    RET   access -1 errno 2 No such file or directory
> >>>> 2259 intro    CALL  access(0x28066000,0<F_OK>)
> >>>> 2259 intro    NAMI  "/usr/local/lib/libsermons.so"
> >>>> 2259 intro    RET   access 0
> >>>> 
> >>>> 
> >>>> On the failing system ktrace shows:
> >>>> 
> >>>> 6746 intro    NAMI  "/lib/libsermons.so"
> >>>> 6746 intro    RET   access -1 errno 2 No such file or directory
> >>>> 6746 intro    CALL  access(0x28066000,0<F_OK>)
> >>>> 6746 intro    NAMI  "/usr/lib/libsermons.so"
> >>>> 6746 intro    RET   access -1 errno 2 No such file or directory
> >>>> 6746 intro    CALL  access(0x28066000,0<F_OK>)
> >>>> 6746 intro    NAMI  "/usr/lib/compat/libsermons.so"
> >>>> 6746 intro    RET   access -1 errno 2 No such file or directory
> >>>> 6746 intro    CALL  access(0x28066000,0<F_OK>)
> >>>> 6746 intro    NAMI  "/lib/libsermons.so"
> >>>> 6746 intro    RET   access -1 errno 2 No such file or directory
> >>>> 6746 intro    CALL  access(0x28066000,0<F_OK>)
> >>>> 6746 intro    NAMI  "/usr/lib/libsermons.so"
> >>>> 6746 intro    RET   access -1 errno 2 No such file or directory
> >>>> 6746 intro    CALL  write(0x2,0x28060080,0x3c)
> >>>> 6746 intro    GIO   fd 2 wrote 60 bytes
> >>>>     "Shared object "libsermons.so" not found, required by "intro""
> >>>> 
> >>>> 
> >>>> It never attempts to check /usr/local/lib.  I can't find any configuration item that affects that.  How can this be fixed?
> >>>> 
> >>> 
> >>> What's the value of "ldconfig_paths" in rc.conf(5)?
> >>> 
> >>> That includes:
> >>> /etc/rc.conf
> >>> /etc/rc.conf.local (if it exists)
> >>> /etc/defaults/rc.conf
> >>> 
> >>> Here on my 9.0-R system it has the following in /etc/defaults/rc.conf:
> >>> /usr/lib/compat /usr/local/lib /usr/local/lib/compat/pkg
> >> 
> >> 
> >> /etc/defaults/rc.conf has:
> >> 
> >> ldconfig_paths="/usr/lib/compat /usr/local/lib /usr/local/lib/compat/pkg"
> >> 
> >> 
> >> /etc/rc.conf has nothing for ldconfig_paths.
> > 
> > Check that /usr/local/lib doesn't have group or other write perms.
> > ldconfig ignores directories that are group/world writable.
> > 
> > To fix:
> > 
> > chmod go-w /usr/local/lib
> > sh /etc/rc.d/ldconfig start
> 
> sermons# ll -d /usr/local/lib
> drwxr-xr-x  4 root  wheel  512 Nov 28 19:07 /usr/local/lib
> 
> 
> I think I found the cause of the problem.  A reboot corrected the issue.  Apparently when ldconfig was run /usr/local/lib didn't exist.  Apparently it doesn't check for that except for in ldconfig.  I was not aware of ldconfig before.  That explains why the reboot worked.  Thanks to all who provided information.

Oh.  Hmm, in that case, "service ldconfig restart" probably would have
fixed it.  (Seems sorta strange to "restart" a "service" that just
builds a table and exits.)

-- Ian





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