[OTR-dev] libotr major version bump?

Ian Goldberg ian at cypherpunks.ca
Sun Jul 29 11:14:20 EDT 2007


On Sun, Jul 29, 2007 at 07:34:33AM -0400, Greg Troxel wrote:
> Ian Goldberg <ian at cypherpunks.ca> writes:
> 
> > That's weird.  When I build libotr-3.1.0, I get a "libotr.so.2.1.0", as
> > expected, since the API and ABI are indeed back-compatible.
> >
> > libotr's configure.ac indicates:
> >
> > LIBOTR_LIBTOOL_VERSION="3:0:1"
> >
> > which specifies current=3, revision=0, age=1, so you get 2.1.0 out of
> > that.
> >
> > What version number is libtool using for you?
> 
> In config.status:
> 
> s, at LIBOTR_LIBTOOL_VERSION@,3:0:1,;t t
> 
> 
> and this is passed to libtool, but it makes so.3.0
> 
> 
> poblano gdt 22 /usr/pkgsrc/chat/libotr/work/libotr-3.1.0/src > gmake
> /bin/sh ../libtool --tag=CC --mode=link cc  -O2 -I/usr/pkg/include -I/usr/include  -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -L/usr/lib -Wl,-R/usr/lib -o libotr.la -rpath /usr/pkg/lib -version-info 3:0:1  -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -lgcrypt -Wl,-R/usr/pkg/lib -L/usr/pkg/lib -lgpg-error privkey.lo context.lo proto.lo b64.lo dh.lo mem.lo message.lo userstate.lo tlv.lo auth.lo sm.lo  
> cc -shared  .libs/privkey.o .libs/context.o .libs/proto.o .libs/b64.o .libs/dh.o .libs/mem.o .libs/message.o .libs/userstate.o .libs/tlv.o .libs/auth.o .libs/sm.o  -Wl,--rpath -Wl,/usr/pkg/lib -Wl,--rpath -Wl,/usr/pkg/lib -L/usr/pkg/lib -L/usr/lib /usr/pkg/lib/libgcrypt.so /usr/pkg/lib/libgpg-error.so  -Wl,-R/usr/pkg/lib -Wl,-R/usr/lib -Wl,-R/usr/pkg/lib -Wl,-R/usr/pkg/lib -Wl,-soname -Wl,libotr.so.3 -o .libs/libotr.so.3.0
> (cd .libs && rm -f libotr.so.3 && ln -s libotr.so.3.0 libotr.so.3)
> (cd .libs && rm -f libotr.so && ln -s libotr.so.3.0 libotr.so)
> ar cru .libs/libotr.a  privkey.o context.o proto.o b64.o dh.o mem.o message.o userstate.o tlv.o auth.o sm.o
> ranlib .libs/libotr.a
> creating libotr.la
> (cd .libs && rm -f libotr.la && ln -s ../libotr.la libotr.la)
> 
> I have libtool 1.5.22, but I'm 99% sure that the above runs the libtool
> that was generated by you at 'make dist' time.

I also have 1.5.22:

$ libtool --version
ltmain.sh (GNU libtool) 1.5.22 Debian 1.5.22-2 (1.1220.2.365 2005/12/18 22:14:06)

Copyright (C) 2005  Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

> So I read the pkgsrc documentation and added USE_LIBTOOL=yes, so that
> the included libtool script would get overwritten with one that's been
> fixed for all the platforms pkgsrc runs on.  Then I get the right shlib
> number.
> 
> -rwxr-xr-x  1 root  wheel  74300 Jul 29 07:32 /usr/pkg/lib/libotr.so.2.1.0
> 
> I don't understand this - I think it means that just building libotr not
> with pkgsrc will get the wrong version.  I can remove the libtool
> override, add -x to libtool, and send that if you want to look, but I
> don't understand libtool innards.

I don't either, unfortunately.  But it probably wouldn't hurt.

> > libotr's UPDATING file contains the information about how users of
> > libotr can update their code for the new version.
> 
> Thanks - I see you've been quite careful about upgrading issues.

Yeah.  Our plans for the next version will almost certainly require an
API change, but we wanted to make this version back-compatible.

   - Ian



More information about the OTR-dev mailing list