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>
index | next in thread | previous in thread | raw e-mail
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: >> >>> 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.) 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…help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?DE2330F3-33B3-49A3-9657-EE9EC3C713DA>
