avro-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (AVRO-2063) C: VERSION, SOVERSION not set correctly for shared library
Date Mon, 07 Aug 2017 23:08:00 GMT

    [ https://issues.apache.org/jira/browse/AVRO-2063?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16117521#comment-16117521
] 

ASF GitHub Bot commented on AVRO-2063:
--------------------------------------

GitHub user edmonds opened a pull request:

    https://github.com/apache/avro/pull/239

    AVRO-2063. C: VERSION, SOVERSION not set correctly for shared library

    Prior to this commit the `VERSION` and `SOVERSION` properties were not being set correctly
for the Avro C shared library. Previously, `VERSION` was unset, and `SOVERSION` was set to
the full dotted version string (e.g. "23.0.0"), which resulted in a `SONAME` of "libavro.so.23.0.0",
which is incorrect.
    
    This commit sets `SOVERSION` to the library's "current" version number (obtained by invoking
`version.sh libcurrent`), and sets `VERSION` to the full dotted version string.
    
    This should result in a proper `libavro.so` → `libavro.so.23` → `libavro.so.23.0.0`
symlink chain with a `SONAME` of "libavro.so.23".
    
    See Sune Vuorela's article on "CMake and library properties": http://pusling.com/blog/?p=352.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/edmonds/avro edmonds/AVRO-2063

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/avro/pull/239.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #239
    
----
commit 5e852265ea7197efe809a8c37ec6a0c34811d3ba
Author: Robert Edmonds <edmonds@users.noreply.github.com>
Date:   2017-08-07T23:02:35Z

    AVRO-2063. C: VERSION, SOVERSION not set correctly for shared library
    
    Prior to this commit the VERSION and SOVERSION properties were not being
    set correctly for the Avro C shared library. Previously, VERSION was
    unset, and SOVERSION was set to the full dotted version string (e.g.
    "23.0.0"), which resulted in a SONAME of "libavro.so.23.0.0", which is
    incorrect.
    
    This commit sets SOVERSION to the library's "current" version number
    (obtained by invoking "version.sh libcurrent"), and sets VERSION to the
    full dotted version string.
    
    This should result in a proper libavro.so → libavro.so.23 →
    libavro.so.23.0.0 symlink chain with a SONAME of "libavro.so.23".
    
    See Sune Vuorela's article on "CMake and library properties":
    http://pusling.com/blog/?p=352.

----


> C: VERSION, SOVERSION not set correctly for shared library
> ----------------------------------------------------------
>
>                 Key: AVRO-2063
>                 URL: https://issues.apache.org/jira/browse/AVRO-2063
>             Project: Avro
>          Issue Type: Bug
>          Components: c
>    Affects Versions: 1.8.2
>            Reporter: Robert Edmonds
>            Priority: Minor
>
> Hi,
> I'm attempting to package avro-c for Debian. While doing so, I noticed that the libavro.so
symlink that gets installed points directly to the libavro.so.23.0.0 library file, without
an intermediate "libavro.so.23" symlink, and that the SONAME embedded in the library file
is set to "libavro.so.23.0.0", rather than "libavro.so.23", which is what I would expect for
a library trying to follow the libtool-style current/revision/age scheme on Linux systems.
> It looks like the recommended way to get CMake to produce the typical symlink chain and
SONAME is to set the VERSION property to "23.0.0" and the SOVERSION to 23 on the shared library
target. See this article for details: http://pusling.com/blog/?p=352.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message