Re: 1.6.0 problems with libguilereadline-v-12 and fix

From:

Paul Jarc

Subject:

Re: 1.6.0 problems with libguilereadline-v-12 and fix

Date:

Thu, 19 Sep 2002 15:32:06 -0400

User-agent:

Gnus/5.090008 (Oort Gnus v0.08) Emacs/21.2 (i686-pc-linux-gnu)

Rob Browning <address@hidden> wrote:
> I'm not sure I completely follow.
I install bar 1.0 with --prefix=/blah/bar-1.0. Then:
ln -s bar-1.0 /blah/bar
So the currently installed version of bar is available via
/blah/bar/. Then I install foo 1.0, which depends on bar:
CPPFLAGS=-I/blah/bar/include LDFLAGS='-L/blah/bar/lib -Wl,-R,/blah/bar/lib' \
./configure --prefix=/blah/foo-1.0
Later, I can install bar 1.1 with --prefix=/blah/bar-1.1, and I can
update the /blah/bar symlink, and foo will now link to the new
libraries. (If something breaks, I can just switch the symlink back.
Huzzah for reliable upgrades. If nothing breaks, I can do
"rm -r /blah/bar-1.0". Huzzah for easy uninstallation.)
But if bar provides a bar-config command, and if foo uses it, then foo
will use /blah/bar-1.0/lib instead of /blah/bar/lib, so it won't pick
up the new version. Worse, if I don't notice that foo uses
bar-config, then I'll update the symlink, see that foo still works,
and then remove /blah/bar-1.0, breaking foo.
I know that this is a very unusual way of doing things, but it works
very well most of the time. I get the benefits of package management
along with the benefits of building from source.
> Also, what I can say for sure is that unless debian dolicy has
> changed, relevant bits of anything that's pacakged for debian will
> have to be modified to not set -rpath.
Well, Debian's installation of Guile will be in /usr, won't it? So it
won't need rpath anyway. I'm not saying that Guile should be unable
to find its libraries without rpath, but if rpath is set, libltdl (and
thus Guile) should use it the same way ld.so would, in the same order,
etc. As long as it's possible for me to set rpath for myself, and for
Guile to use that to find its libraries, I'll be happy.
paul