unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
From: Rob Browning <rlb@defaultvalue.org>
Cc: Greg Troxel <gdt@ir.bbn.com>, guile-user@gnu.org
Subject: Re: 1.6.0 problems with libguilereadline-v-12 and fix
Date: Thu, 19 Sep 2002 17:06:18 -0500	[thread overview]
Message-ID: <87znudab39.fsf@raven.i.defaultvalue.org> (raw)
In-Reply-To: <m3it11vfof.fsf@laruns.ossau.uklinux.net> (Neil Jerram's message of "19 Sep 2002 22:21:36 +0100")

Neil Jerram <neil@ossau.uklinux.net> writes:

> Or, to put it another way, proposing something concrete is more likely
> to obtain a clear response from the libltdl people than saying `we
> don't know what to do, what do you think?'.

Well I'm presuming they have a lot more experience with the problem,
especially cross-platform, than I do.  Things I'd suggest without
knowing any better:

  - versioned open: lt_dlopen_interface (char *name, int interface_num),
    where number is the libtool interface number that needs to be
    satisfied.

  - this would probably require a versioned .la file or something
    similar, perhaps libfoo.la.A.B.C.  This would have affects on
    compile time, build time, install time, and runtime.

  - see if it's possible to have libltdl use the same algorithm that
    ld.so does on any given platform to compute the library to load.
    Ideally, the search algorithm might be provided on platforms where
    it's feasible by libc or similar low-level library.

I've asked about this on the libtool side before on a couple of
occasions, but have had no response, though perhaps I somehow
approached them poorly.

> (On versioning, I think that speaking with the libltdl people is
> exactly the right thing to do.  But AFAIU versioning is an orthogonal
> issue to the library location one, and a more complex one where
> libtool people are likely to have thought much more than us already.)

They're related in the sense that having versioned .la files means
that you at least don't have to use path or naming tricks for the
common case where you have two binary incompatible versions of libfoo.

Without the versioned dlopen, you have to either use separate
subdirectories, or naming hacks (we chose the latter in guile -- hence
libguilereadline-v-12) to make sure you load the one you meant to.  As
it stands, (dynamic-link "libfoo") might get you *any* libfoo.

If we had versioning, then we could just put both versions of the
library in the same directory (/usr/lib, or whatever), and say

  (dynamic-link "libfoo" 9)
or
  (dynamic-link "libfoo" 12)

and let libltdl figure it out the same way ld.so does for
compile/launch time links.

You're right though, that even with this fix, and with a modified
libltdl that respects the same things that ld.so does, you still have
some of the same "do we use -rpath, require LD_LIBRARY_PATH, or
something else" questions for guile when it's installed outside of
/usr or /usr/local.

Requiring LD_LIBRARY_PATH to be set right is the most common approach
I've seen, but that doesn't mean we have to do things that way.

-- 
Rob Browning
rlb @defaultvalue.org, @linuxdevel.com, and @debian.org
Previously @cs.utexas.edu
GPG=1C58 8B2C FB5E 3F64 EA5C  64AE 78FE E5FE F0CB A0AD


_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://mail.gnu.org/mailman/listinfo/guile-user


  reply	other threads:[~2002-09-19 22:06 UTC|newest]

Thread overview: 80+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-09-18 20:33 1.6.0 problems with libguilereadline-v-12 and fix Greg Troxel
2002-09-18 21:14 ` Marius Vollmer
2002-09-18 21:53   ` Paul Jarc
2002-09-18 22:40     ` Rob Browning
2002-09-18 22:43       ` Paul Jarc
2002-09-19  3:22         ` Rob Browning
2002-09-19  4:13           ` Robert Uhl <ruhl@4dv.net>
2002-09-19 10:03           ` rm
2002-09-19 15:02             ` Rob Browning
2002-09-19 15:18               ` Paul Jarc
2002-09-19 15:27               ` rm
2002-09-19 18:29                 ` Rob Browning
2002-10-03 16:03                 ` Marius Vollmer
2002-10-03 15:56             ` Marius Vollmer
2002-10-03 17:22               ` Paul Jarc
2002-10-04 11:58                 ` Marius Vollmer
2002-10-03 19:19               ` tomas
2002-10-04 12:04                 ` Marius Vollmer
2002-10-04 13:04                   ` rm
2002-10-08 21:16                     ` Marius Vollmer
2002-10-08 21:54                       ` Dale P. Smith
2002-10-09  6:47                       ` tomas
2002-09-19 10:11           ` rm
2002-09-19 15:10           ` Paul Jarc
2002-09-19 21:21           ` Neil Jerram
2002-09-19 22:06             ` Rob Browning [this message]
2002-09-19 22:17               ` Paul Jarc
2002-09-19 23:13                 ` Rob Browning
2002-09-19  4:02         ` Thien-Thi Nguyen
2002-09-19 16:17           ` Paul Jarc
2002-09-19 18:52             ` Thien-Thi Nguyen
2002-09-19 19:33               ` Paul Jarc
2002-09-19 19:58                 ` Thien-Thi Nguyen
2002-09-19 22:17                   ` Thien-Thi Nguyen
2002-09-20  1:28                     ` Thien-Thi Nguyen
2002-09-20 15:45                       ` Paul Jarc
2002-10-03 15:38     ` Marius Vollmer
2002-10-04 16:43       ` Paul Jarc
2002-10-08 21:26         ` Marius Vollmer
2002-10-08 21:38           ` Paul Jarc
2002-10-08 22:47             ` Marius Vollmer
2002-10-09  4:34               ` Paul Jarc
2002-10-09  6:51               ` tomas
2002-09-19 13:17   ` Arno Peters
2002-09-19 14:07     ` Rob Browning
2002-10-03 16:06     ` Marius Vollmer
2002-10-03 19:44       ` Rob Browning
2002-09-19 13:43   ` Greg Troxel
2002-09-19 14:53     ` Rob Browning
2002-09-19 15:57       ` Paul Jarc
2002-09-19 18:47         ` Rob Browning
2002-09-19 19:32           ` Paul Jarc
2002-09-19 21:07             ` Rob Browning
2002-09-20 11:47       ` Greg Troxel
2002-09-20 12:04       ` Greg Troxel
2002-09-20 15:23         ` Rob Browning
2002-09-20 22:47           ` Paul Jarc
2002-09-21  3:00             ` Rob Browning
2002-09-21 15:46             ` Robert Uhl <ruhl@4dv.net>
2002-09-21 21:45               ` Paul Jarc
2002-09-23  4:35                 ` Robert Uhl <ruhl@4dv.net>
2002-09-23 15:47                   ` Paul Jarc
2002-09-23 19:20                     ` Robert Uhl <ruhl@4dv.net>
2002-09-23 20:06                       ` Paul Jarc
2002-09-23 21:29                         ` Eric E Moore
2002-09-23 21:37                           ` Paul Jarc
2002-09-20 17:59         ` Rob Browning
2002-09-20 21:32           ` Paul Jarc
2002-09-20 20:27         ` Paul Jarc
2002-09-20 20:42         ` Thien-Thi Nguyen
2002-09-20 21:16           ` Paul Jarc
2002-09-20 21:43             ` Paul Jarc
2002-09-21  1:56             ` Thien-Thi Nguyen
2002-09-21 21:51               ` Paul Jarc
2002-09-25  6:09                 ` Thien-Thi Nguyen
2002-09-22 18:52         ` Gary Houston
2002-09-23  1:50           ` Rob Browning
2002-10-03 16:33           ` Marius Vollmer
2002-10-03 17:51         ` Marius Vollmer
2002-10-03 17:37     ` Marius Vollmer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87znudab39.fsf@raven.i.defaultvalue.org \
    --to=rlb@defaultvalue.org \
    --cc=gdt@ir.bbn.com \
    --cc=guile-user@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).