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>