[prev in list] [next in list] [prev in thread] [next in thread]
List: activemq-dev
Subject: [jira] Resolved: (AMQCPP-158) libtool release and version-info
From: "Timothy Bish (JIRA)" <jira () apache ! org>
Date: 2008-12-31 20:53:05
Message-ID: 79878514.1230756785814.JavaMail.jira () brutus
[Download RAW message or body]
[ https://issues.apache.org/activemq/browse/AMQCPP-158?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel \
]
Timothy Bish resolved AMQCPP-158.
---------------------------------
Resolution: Fixed
> libtool release and version-info arguments need to be set correctly
> -------------------------------------------------------------------
>
> Key: AMQCPP-158
> URL: https://issues.apache.org/activemq/browse/AMQCPP-158
> Project: ActiveMQ C++ Client
> Issue Type: Bug
> Affects Versions: 2.1.2
> Environment: Debian
> Reporter: Daniel Pocock
> Assignee: Timothy Bish
> Fix For: 2.3
>
>
> When make is invoked, libtool is asked to build the library with this command line:
> /bin/sh ../../libtool --tag=CXX --mode=link g++ -ansi -pedantic -W -Wall -fPIC \
> -fstrict-aliasing -Wstrict-aliasing=2 -Wno-long-long -g -O2 -version-info 2:1:2 \
> -release 2.1.2 -o libactivemq-cpp.la -rpath /usr/lib \
> activemq/core/libactivemq_cpp_la-ActiveMQConsumer.lo ........... Notice the \
> `-release 2.1.2' argument to libtool? Using a unique release number with each \
> build means that applications will only run with one specific build, and no others. \
> Perhaps `-release 2' might be more appropriate? This would mean that an \
> application that expects version 2.1.1 would still be willing to link with 2.2.0 \
> (for example) at runtime. Alternatively, it may be better to omit the release \
> argument, and just use version-info. The -version-info argument allows more \
> fine-grained control - however, it is not meant to be written as \
> MAJOR:MINOR:REVISION. The three values mean \
> `version:revision:age', where:
> - version = ABI version, an integer that is increment whenever binary compatibility \
> changes
> - revision = implementation (this number is incremented when there is a code change \
> that does not impact the binary interface)
> - age = how many previous versions are binary compatible, e.g if age = 2, then \
> version, (version - 1) and (version - 2) are all binary compatible - the age value \
> specified for this library (2) suggests that it is binary compatible to the \
> original version (0). ABI version numbers are not the same as product version \
> numbers. If the product number is 2.1.2, that does not mean the -version-info \
> argument is 2:1:2. I have created some pages on the wiki to discuss version and \
> packaging issues; these issues need to be agreed upon by the community before a \
> version scheme can be implemented in the build system. I am willing to work on the \
> details and contribute a patch for this once there has been some consensus on which \
> is the best versioning scheme to adopt and what level of binary compatibility is \
> expected. Wiki pages:
> http://cwiki.apache.org/confluence/display/AMQCPP/ActiveMQ-CPP+product+version+number
> http://cwiki.apache.org/confluence/display/AMQCPP/ActiveMQ-CPP%2C+libtool+and+packaging+notes
>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic