Miguel Ángel Herranz Trillo created THRIFT-2270:
---------------------------------------------------

             Summary: Faulty library version numbering at build or documentation
                 Key: THRIFT-2270
                 URL: https://issues.apache.org/jira/browse/THRIFT-2270
             Project: Thrift
          Issue Type: Bug
          Components: Build Process, C++ - Library, Deployment
    Affects Versions: 0.9.1
         Environment: Linux
            Reporter: Miguel Ángel Herranz Trillo
            Priority: Minor


The shared libraries generated for C/C++ under Linux (.so files) have a SONAME 
that includes the full version number.

For example:
{code}
# objdump -p libthrift.so | grep SONAME
 SONAME               libthrift-0.8.0.so
{code}

Since the compilation process will make any program compiled against a library 
to depend on the SONAME, in the case of Thrift library, the program will depend 
on the full version number.

The program will fail if some other different Thrift library version is 
provided instead, despite it can be a minor improvement or a bug fix that 
doesn't break the external interface.

For example, if external interface of 0.8.0 is the same as 0.8.1 or even 0.9.1 
(since it may happen that only the first number represent changes in the 
dynamic linking or protocol interface), then we could expect that a program 
will depend on a SONAME with the format libthrift.so.0 and that both version 
0.8.0 and 0.9.1 shared library binaries provides the same SONAME equal to 
libthrift.so.0

I haven't found any document about the versioning scheme in Thrift or the 
compatibility between versions (maybe I didn't search enough, so sorry in that 
case).

So, if that document does not exist, I think it should be created. 

And also, in case that some of the version numbers are just used for changes 
that doesn't imply changes in the ABI or the Thrift protocol itself, the 
numbers should be removed from the SONAME of the Thrift library binary.




--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to