unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
From: tomas@fabula.de
Cc: guile-devel@gnu.org
Subject: Re: add-on lib versioning (concrete example g-wrap) -- what to do?
Date: Fri, 13 Dec 2002 09:47:26 +0100	[thread overview]
Message-ID: <20021213084725.GA8423@www> (raw)
In-Reply-To: <87d6o7vvat.fsf@raven.i.defaultvalue.org>

On Thu, Dec 12, 2002 at 02:25:46PM -0600, Rob Browning wrote:
> 

[good explanation of the problem of `same' add-on lib built
against different guile versions]

OK, it's me again, the guy talking about the big Pees ;-)

> [1] The only contenders I can think ATM of are
> 
>     - put the guile version in the add-on lib name.

Hmmm. I find library names already nearly unreadable. Imagine making a
Debian package from that...

>     - use a /usr/lib/guile/VERSION/ subdir for add on libs and just
>       figure out and deal with the -L/LD_LIBRARY_PATH/rpath issues.

I'd favor this way. The advantages I see:

  - It's the thing ``the others'' do (Perl, Python, Emacs...). I'm not only
    saying that it's tried and tested, but sysadmin's expectations play a
    role here too. I'd put *any* add-on which depends on the version
    in /usr/lib/guile/VERSION/, be it an .so or an .scm or whatever.

  - Note that it'd be possible to put version independent stuff in
    /usr/lib/guile still.

Make provision for a `local' place, be it /usr/local/lib/guile/...
(preferred) or something with .../site/...

(one could consider even doing /usr/lib/guile/MAJOR/MINOR, to be able
to put major-version-dependent stuff together, but it seems a bit like
overkill. OTOH it'd be a boon for those poor guys trying to keep several
versions of guile running, e.g. for testing purposes).

>     - more radically, drop the idea that people will directly link via
>       gcc/ld against guile libs, and require some kind of run-time
>       dlopen/dlsym/function-pointer-patchup initialization.  i.e.

If the above scheme is to work, one should consider this independently,
I'd say. Fix first the requirements and see whether the tools at hand
(ld/libtool/whatnot) do the job. Develop own tools if necessary.

>         scm_make_u8_vector = scm_lt_dlsym (srfi_4_lib, "scm_make_u8_vector");
> 
>       or similar.    

I'd consider this quite attractive, from an introspection standpoint,
but... it's me again ;-)

Regars
-- tomas


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


  reply	other threads:[~2002-12-13  8:47 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-12-12 20:25 add-on lib versioning (concrete example g-wrap) -- what to do? Rob Browning
2002-12-13  8:47 ` tomas [this message]
2002-12-13 21:37 ` Christopher Cramer
2002-12-13 22:53   ` Rob Browning
2002-12-14 16:02 ` Marius Vollmer
2002-12-14 18:47   ` Rob Browning

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=20021213084725.GA8423@www \
    --to=tomas@fabula.de \
    --cc=guile-devel@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).