[
https://issues.apache.org/jira/browse/AVRO-2063?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16115015#comment-16115015
]
Robert Edmonds commented on AVRO-2063:
--------------------------------------
Here's the patch I've applied downstream for the Debian package:
https://anonscm.debian.org/cgit/collab-maint/avro-c.git/commit/?id=f29dae6e2b93be52d72d19b0061935bf8ba9c7b4.
When the unpatched 1.8.2 release is built and installed, it results in this
symlink and SONAME:
{code}
edmonds@chase{0}:/usr/local/stow/avro-c-1.8.2/lib$ ls -l libavro.so*
lrwxrwxrwx 1 root staff 17 Jul 28 15:41 libavro.so -> libavro.so.23.0.0
-rw-r--r-- 1 root staff 1.1M Jul 28 15:41 libavro.so.23.0.0
edmonds@chase{0}:/usr/local/stow/avro-c-1.8.2/lib$ objdump -p libavro.so | grep
SONAME
SONAME libavro.so.23.0.0
edmonds@chase{0}:/usr/local/stow/avro-c-1.8.2/lib$
{code}
When 1.8.2 with the patch linked above is built and installed, it results in
this symlink chain and SONAME:
{code}
edmonds@chase{0}:/usr/lib/x86_64-linux-gnu$ ls -l libavro.so*
lrwxrwxrwx 1 root root 13 Aug 4 17:15 libavro.so -> libavro.so.23
lrwxrwxrwx 1 root root 17 Aug 4 17:15 libavro.so.23 -> libavro.so.23.0.0
-rw-r--r-- 1 root root 234K Aug 4 17:15 libavro.so.23.0.0
edmonds@chase{0}:/usr/lib/x86_64-linux-gnu$ objdump -p libavro.so | grep SONAME
SONAME libavro.so.23
edmonds@chase{0}:/usr/lib/x86_64-linux-gnu$
{code}
> 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)