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)