Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 29 Nov 2012 14:05:55 -0800
From:      Doug Hardie <bc979@lafn.org>
To:        Ian Lepore <freebsd@damnhippie.dyndns.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:  <DE2330F3-33B3-49A3-9657-EE9EC3C713DA@lafn.org>
In-Reply-To: <1354225452.69940.330.camel@revolution.hippie.lan>
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> <1354225452.69940.330.camel@revolution.hippie.lan>

next in thread | previous in thread | raw e-mail | index | archive | help

On 29 November 2012, at 13:44, Ian Lepore wrote:

> On Thu, 2012-11-29 at 13:33 -0800, Doug Hardie wrote:
>> On 29 November 2012, at 06:01, Gary Palmer wrote:
>>=20
>>> On Wed, Nov 28, 2012 at 10:46:51PM -0800, Doug Hardie wrote:
>>>>=20
>>>> On 28 November 2012, at 20:01, Devin Teske wrote:
>>>>=20
>>>>>=20
>>>>> On Nov 28, 2012, at 7:36 PM, Doug Hardie wrote:
>>>>>=20
>>>>>> 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:
>>>>>>=20
>>>>>> 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
>>>>>>=20
>>>>>>=20
>>>>>> On the failing system ktrace shows:
>>>>>>=20
>>>>>> 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""
>>>>>>=20
>>>>>>=20
>>>>>> It never attempts to check /usr/local/lib.  I can't find any =
configuration item that affects that.  How can this be fixed?
>>>>>>=20
>>>>>=20
>>>>> What's the value of "ldconfig_paths" in rc.conf(5)?
>>>>>=20
>>>>> That includes:
>>>>> /etc/rc.conf
>>>>> /etc/rc.conf.local (if it exists)
>>>>> /etc/defaults/rc.conf
>>>>>=20
>>>>> 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
>>>>=20
>>>>=20
>>>> /etc/defaults/rc.conf has:
>>>>=20
>>>> ldconfig_paths=3D"/usr/lib/compat /usr/local/lib =
/usr/local/lib/compat/pkg"
>>>>=20
>>>>=20
>>>> /etc/rc.conf has nothing for ldconfig_paths.
>>>=20
>>> Check that /usr/local/lib doesn't have group or other write perms.
>>> ldconfig ignores directories that are group/world writable.
>>>=20
>>> To fix:
>>>=20
>>> chmod go-w /usr/local/lib
>>> sh /etc/rc.d/ldconfig start
>>=20
>> sermons# ll -d /usr/local/lib
>> drwxr-xr-x  4 root  wheel  512 Nov 28 19:07 /usr/local/lib
>>=20
>>=20
>> 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.
>=20
> 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.)

I am sure it would have.  I suspect there are more "unexpected" services =
like that.  There are too many services to remember, let alone =
understand.  A Google search turned up nothing usable for me.  If I =
could have hit on ldconfig, then the man page would have been perfectly =
clear=85=20




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?DE2330F3-33B3-49A3-9657-EE9EC3C713DA>