Library Problem
Ian Lepore
freebsd at damnhippie.dyndns.org
Thu Nov 29 21:44:20 UTC 2012
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
More information about the freebsd-stable
mailing list