Linux why not fully dynamic?

Paul Duffin pduffin at mailserver.hursley.ibm.com
Fri Aug 6 17:33:16 CEST 1999


Mitch Chapman wrote:
> 
> Gordon McMillan wrote:
> >
> > Robin Becker asks:
> >
> > > Why doesn't ./configure set up for a libpython.so.1.5.2 or whatever?
> >
> > Don't know. Maybe because this kind of scheme doesn't work on
> > some other Unixen?
> 
> This question (or something similar to it) is answered in the Python
> FAQ:
>         http://www.python.org/doc/FAQ.html#3.30
> 
> -----------------------------------------------------------------------
> 3.30. Why is the Python interpreter not built as a shared
> library?
> 
> (This is a Unix question; on Mac and Windows, it is a shared library.)
> 
> It's just a nightmare to get this to work on all different
> platforms. Shared library portability is a pain. And yes, I know about
> GNU libtool -- but it requires me to use its conventions for filenames
> etc, and it would require a complete and utter rewrite of all the
> makefile and config tools I'm currently using.
> 
> In practice, few applications embed Python -- it's much more common to
> have Python extensions, which already are shared libraries. Also,
> serious embedders often want total control over which Python version
> and configuration they use so they wouldn't want to use a standard
> shared library anyway. So while the motivation of saving space when
> lots of apps embed Python is nice in theory, I doubt that it will save
> much in practice.  (Hence the low priority I give to making a shared
> library.)
> -----------------------------------------------------------------------

AFAIK this is a quote from GvR which was given a long time ago, I would
be interested to know if he has changed his mind on this.

Whenever anyone asks this question they "eventually" get pointed to this
quote. I think that there have been enough people asking about this to
invalidate the primary reason for this being given such a low profile.

Considering the fact that Python already has support for dynamic
extensions and that it uses backlinking which does not care whether
the symbols are in a library or an executable it is not as difficult
as Guido thinks.

Unfortunately because of this statement people are reluctant to do
the necessary work to support this because they do not feel that it
will be added into the code. Instead they workaround it or do enough
for themselves and so the problem never gets fixed.

-- 
Paul Duffin
DT/6000 Development	Email: pduffin at hursley.ibm.com
IBM UK Laboratories Ltd., Hursley Park nr. Winchester
Internal: 7-246880	International: +44 1962-816880




More information about the Python-list mailing list