On Fri, 20 Feb 2009 13:23:43 -0600, Thomas Schmitt <scdbac...@gmx.net> wrote:

Hi,

i am trying to provide libraries for FreeBSD
and Linux via a build system based on autotools.
My problem is that the .so numbers get produced
differently on both systems.
E.g.
  libburn.so.31      on FreeBSD
  libburn.so.4.27.0  on Linux

This has the consequence that on Linux older
applications can work with the newest libraries
whereas on FreeBSD the application has to
be re-built for that.

Is that intentional on FreeBSD ?
Shall there be no backward compatibility
with .so ?


The numbers stem from ./configure.ac
  LT_CURRENT=31
  LT_AGE=27
  LT_REVISION=0
They are handed over to ./libtool as
  -version-info 31:0:27
on both systems.

The libburnia libraries have evolving ABIs
which are backward compatible. Applications
can inquire the library version at run time in
order to check whether the feature set suffices.

So i would prefer to produce
  libburn.so.4
with every new release.
But i also want to obey the conventions of
the operating systems. On Linux that means to
increase both LT_CURRENT and LT_AGE.
On FreeBSD one would obviously have to leave
LT_CURRENT unchanged.

How do other projects solve that dilemma ?

Should i strive for constant libburn.so.4
on FreeBSD at all ?

http://people.freebsd.org/~mezz/libtool.txt

You can use ports/Mk/bsd.gnome.mk's hack in libtool to correct the version. You can add in ports's Makefile like this:

------------------------------
USE_AUTOTOOLS=  libtool:15
USE_GNOME=      ltverhack
------------------------------

If for some reason, this library bumped for no reason and doesn't need to be. You can custom number of version like this:

------------------------------
USE_AUTOTOOLS=  libtool:15
USE_GNOME=      ltverhack:6
------------------------------

Then it will be libfoo.so.6. All GNOME ports are using ltverhack such as gtk20, glib20, pango and etc without custom number.

I think it's fixed in libtool2 for FreeBSD, but someone might want to check in libtool repo to make sure.

(libtool is the expert. Possibly it is smarter
than me.)

Since you are able to figure it out. You are smart already. ;-)

Cheers,
Mezz

Have a nice day :)

Thomas


--
me...@cox.net  -  m...@freebsd.org
FreeBSD GNOME Team
http://www.FreeBSD.org/gnome/  -  gn...@freebsd.org
_______________________________________________
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"

Reply via email to