guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Where we left versioning modules (accurate summary?).


From: Rob Browning
Subject: Where we left versioning modules (accurate summary?).
Date: 12 Jun 2001 23:11:45 -0500
User-agent: Gnus/5.0808 (Gnus v5.8.8) Emacs/20.7

OK, so I was talking to a friend today about guile and where things
stand wrt to modules, and in particular versioning, both for scm only
modules and for modules with a .so component or components.

Here's what I concluded about our current state:

  1) not everyone may be convinced there's a real problem here.

  2) in the scm only case, you can make at least a hand-waving
     argument that versioning can be handled with naming tricks, etc.
     (I'm not sure I agree with that, but that's irrelevant for this
     summary.)

  3) Since we're now using libtool for all our library work, including
     dynamic loading (for good reason), we're dependent on what it can
     and can't handle.

  4) Right now, although libtool has a reasonably simple (but good)
     interface versioning system represented by the numbers CURRENT
     REVISION and AGE, there is no way to tell lt_dlopen about the
     interface number that you (as an app) require.

  5) Until (4) is fixed, we *can't* really do anything about properly
     versioning modules with shared library components without really
     ugly naming conventions.  i.e. if guile 1.6 and guile 1.8 are
     installed on the same system and both have the module (foo bar)
     and both need libguile-foo-bar.so, but one needs version 1 and
     one needs version 2, then ATM, we're stuck.  Code may break,
     possibly silently.

Conclusion: before anything else, we really need to see if we can get
libtool's API fixed to include a function that allows you to specify a
version to an open command.  i.e. perhaps it should support something
like lt_dlopen_version("libguile-foo-bar", 9) which would indicate
roughly the same thing that an normally ldd linked app would already
know wrt the version of interface it needs.

Presuming I'm right about all this, and I may well not be, then does
anyone have much familiarity with the libtool people, and do you know
how we should best approach them?

Thanks

PS: This is all post 1.6.0 stuff...

-- 
Rob Browning <address@hidden> PGP=E80E0D04F521A094 532B97F5D64E3930



reply via email to

[Prev in Thread] Current Thread [Next in Thread]