conf/91444: [PATCH] Fix compat?x library path of
ldconfig_paths* in /etc/defaults/rc.conf
KIMURA Yasuhiro
yasu at utahime.org
Sat Jan 7 04:20:13 PST 2006
The following reply was made to PR conf/91444; it has been noted by GNATS.
From: KIMURA Yasuhiro <yasu at utahime.org>
To: hrs at FreeBSD.org, FreeBSD-gnats-submit at FreeBSD.org
Cc:
Subject: Re: conf/91444: [PATCH] Fix compat?x library path of
ldconfig_paths* in /etc/defaults/rc.conf
Date: Sat, 07 Jan 2006 21:09:44 +0900 (JST)
From: Hiroki Sato <hrs at FreeBSD.org>
Subject: Re: conf/91444: [PATCH] Fix compat?x library path of ldconfig_paths* in /etc/defaults/rc.conf
Date: Sat, 07 Jan 2006 16:18:55 +0900 (JST)
> IIRC each misc/compat?x already has a startup script to invoke
> ldconfig for ${PREFIX}/lib/compat, and especially compat5x
> needs a hack for the 32-bit libraries on FreeBSD/amd64.
Following is my actual experience when I upgraded my home server from
4.11R/i386 to 6.0R/i386 recently.
On 4.11R I used some commercial softwares which worked as daemon
process. I wanted to use them after upgrade, but unfortunately
binaries for 6.x are not provided.
So I installed misc/compat4x package from port. According to the
messages of install time, I added "compat4x_enable=YES" to
/etc/rc.conf and executed startup script of compat4x. Then I pkg_added
the packages of the commercial softwares. When I executed startup
scripts of them, programs were succssfully started up and worked as
daemon process. Everything seemed to fine.
But problem happened when I rebooted the system. On bootstrap stage,
some programs of commercial softwares complained they cannot find
shared libraries and did not startup. I investigated the problem and
found It was caused by the name of startup script. That is, startup
script of the commercial software in question is installed in
/usr/local/etc/rc.d and the file name begin with 'a'. so it was
invoked prior to the startup script of compat4x at boot time.
After some trials and errors, I solved this problem by adding
following 2 lines in /etc/rc.conf:
ldconfig_paths="/usr/local/lib/compat /usr/X11R6/lib /usr/local/lib /usr/local/lib/compat/pkg"
ldconfig_paths_aout="/usr/local/lib/compat/aout /usr/X11R6/lib/aout /usr/local/lib/aout"
and then I thought these value should be set properly in
/etc/default/rc.conf and sent this PR.
I admit this patch is not perfect solution for the ldconfig issue of
compat libraries. But surely there is the case that problem concerning
with compat library is solved by applying it.
And I would like to point out one more.
> So I do not think simply adding an absolute directory
> /usr/local/lib/compat into the default rc.conf is useful.
This patch does not add new directory entry. It only changes already
existing directory(/usr/lib/compat) entry to the more proper one.
More information about the freebsd-bugs
mailing list