You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "ASF subversion and git services (JIRA)" <ji...@apache.org> on 2018/12/10 19:23:00 UTC

[jira] [Commented] (AVRO-2063) C: VERSION, SOVERSION not set correctly for shared library

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

ASF subversion and git services commented on AVRO-2063:
-------------------------------------------------------

Commit 5e852265ea7197efe809a8c37ec6a0c34811d3ba in avro's branch refs/heads/master from [~edmonds]
[ https://gitbox.apache.org/repos/asf?p=avro.git;h=5e85226 ]

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: Apache Avro
>          Issue Type: Bug
>          Components: c
>    Affects Versions: 1.8.2
>            Reporter: Robert Edmonds
>            Priority: Minor
>             Fix For: 1.9.0
>
>
> 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
(v7.6.3#76005)