You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@logging.apache.org by "Thorsten Schöning (Jira)" <lo...@logging.apache.org> on 2020/08/06 07:35:00 UTC
[jira] [Commented] (LOGCXX-512) cmake and autotools generate
different versioned binaries
[ https://issues.apache.org/jira/browse/LOGCXX-512?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17172090#comment-17172090 ]
Thorsten Schöning commented on LOGCXX-512:
------------------------------------------
There's a related threads on the mailing list already: [http://mail-archives.apache.org/mod_mbox/logging-log4cxx-user/201712.mbox/%3C1846421118.20171220190912%40am-soft.de%3E]:
{quote}
LT_VERSION=10:1:0 -> liblog4cxx.so.10.0.1
LT_VERSION=0:10:0 -> liblog4cxx.so.0.0.10
LT_VERSION=0:11:0 -> liblog4cxx.so.0.0.11
LT_VERSION=0:11:1 -> libtool: link: AGE `1` is greater than the current interface number `0`
LT_VERSION=11:0:0 -> liblog4cxx.so.11.0.0
LT_VERSION=11:0:1 -> liblog4cxx.so.10.1.0
{quote}
The result of autotools is correct, that of CMake wrong and should be "liblog4cxx.so.11.0.0" instead. The following condition from your linked docs is triggered:
{quote}
4. If any interfaces have been added, removed, or changed since the last update, increment current, and set revision to 0.
{quote}
That is clearly the case with changed LevelPtr, new JSON-support etc. and keeps backwards compatibility. The docs additionally make the following clear:
{quote}
Never try to set the interface numbers so that they correspond to the release number of your package.[...]
{quote}
> cmake and autotools generate different versioned binaries
> ---------------------------------------------------------
>
> Key: LOGCXX-512
> URL: https://issues.apache.org/jira/browse/LOGCXX-512
> Project: Log4cxx
> Issue Type: Bug
> Reporter: Robert Middleton
> Assignee: Robert Middleton
> Priority: Major
>
> When building log4cxx, using cmake results in a library like the following:
> {code:java}
> liblog4cxx.so.0.11.0{code}
> However, when building with autotools, the binary is the following:
> {code:java}
> liblog4cxx.so.10.0.0
> {code}
> Things to do:
> # Fix the cmake build to do the same as autotools for consistency.
> # (optional) remove autotools so we don't have this problem in the future.
> # (optional) If we're not removing autotools, fix the so versioning.
>
> See also: https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
--
This message was sent by Atlassian Jira
(v8.3.4#803005)