[GiNaC-devel] Release GiNaC 1.5.4

Richard B. Kreckel kreckel at ginac.de
Wed Nov 4 01:08:40 CET 2009


Hi!

Richard B. Kreckel wrote:
> * A new soname, making it unsuitable as drop-in replacement for
>   GiNaC-1.5.[0-3] for distributions.  :-(
> 
> Methinks, my patch f2f67dde5c9caca is screwy and made you screw up the 
> soname of libtool versioning.
> 
> Rats! I was lucky to finally have arrived at a crystal clear 
> prescription in configure.ac and now it turns out to be wrong.

Oh, I think I know what's messed up! The text in configure.ac is 
correct, but when we don't use the age feature, we have only two 
situations: A) the interface is the same as before and B) the interface 
was extended by functions/classes.

Normally, case A would be ++revision. Case B would be ++current, ++age, 
and revision=0. So we always have age==current. But the way 
LT_VERSION_INFO in configure.ac is assigned, age is pinned at 0! It 
should be pinned at age, instead.

So, this would be the correct fix:

--- a/configure.ac
+++ b/configure.ac
@@ -58,8 +58,9 @@ AC_DEFINE_UNQUOTED(ARCHIVE_VERSION, $ARCHIVE_VERSION, 
[Current GiNaC archive fil
  AC_DEFINE_UNQUOTED(ARCHIVE_AGE, $ARCHIVE_AGE, [GiNaC archive file 
version age])

  dnl libtool versioning (We don't use libtool's age numbering since we 
promise
-dnl to keep the binary interface compatible if only ginac_micro_version 
changes.)
-LT_VERSION_INFO="ginac_lt_current:ginac_lt_revision:0"
+dnl to keep the binary interface compatible if only ginac_micro_version 
changes.
+dnl In effect, age is pinned to current.)
+LT_VERSION_INFO="ginac_lt_current:ginac_lt_revision:ginac_lt_current"
  LT_RELEASE="ginac_release"

  AC_SUBST(LT_VERSION_INFO)

Indeed, it leads to libginac-1.5.so.0.1.0 with soname libginac-1.5.so.0.

   -richy.
-- 
Richard B. Kreckel
<http://www.ginac.de/~kreckel/>



More information about the GiNaC-devel mailing list