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

Fwd: SONAME for python modules is bad?



Forwarding discussion to other debian-cli/debian-java mailing list, to
get feedback (sorry for duplicates).

Basically we are looking for policy on SONAME on module, in different
target language.

Thanks,

---------- Forwarded message ----------
From: Mathieu Malaterre <mathieu.malaterre@gmail.com>
Date: Fri, Jul 24, 2009 at 3:49 PM
Subject: Re: SONAME for python modules is bad?
To: "Steve M. Robbins" <steve@sumost.ca>
Cc: debian-python@lists.debian.org, "A. Maitland Bottoms"
<bottoms@debian.org>, Denis Barbier <bouzim@gmail.com>, Dominique
Belhachemi <domibel@cs.tu-berlin.de>


On Wed, Jul 22, 2009 at 8:47 AM, Steve M. Robbins<steve@sumost.ca> wrote:
> Hi,
>
> Recently, Mathieu Malaterre wrote to say that having a SOVERSION on a
> python module is wrong, with reference to an oblique comment from
> Josselin Mouette [1].
>
> Is this true?  What is the rationale for not versioning these shared
> objects?
>
> Is there any "more official" document that mandates this?  For
> example, the python policy?

This issue was raised by Denis Barbier. This makes particular sense
for the C#/Java target language since one setup a proper
LD_LIBRARY_PATH and then an internal mechanism load the internal glue
lib. The version of the glue lib is not very important in this case
and furhtermore cannot even be expressed AFAIK. For instance, in Java:

 static {
  try {
      System.loadLibrary("gdcmjni");
  } catch (UnsatisfiedLinkError e) {
    System.err.println("Native code library failed to load. \n" + e);
    System.exit(1);
  }
 }


In C#:

[DllImport("gdcmsharpglue", EntryPoint="CSharp_ImageWriterUpcast")]


It would be extremely nice too if all wrap language would adopt the
same convention. So that toolkit such as VTK/ITK/GDCM wrapping their
interface into multiple languages (namely: Tcl, Python, Java, C#)
could simply decide:
(1) Allow SONAME
(2) Use a directory convention libfoo-$SOVERSION/$NAME.so

for packaging mutiple modules.

I know that Python had some other convention such as preprending
underscore, but I have never seen any need for SONAME on modules.

2cts,
--
Mathieu
http://mathieumalaterre.com



-- 
Mathieu
http://mathieumalaterre.com


Reply to: