From owner-freebsd-ports@FreeBSD.ORG Fri Feb 20 19:50:06 2009 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7CBFA106564A for ; Fri, 20 Feb 2009 19:50:06 +0000 (UTC) (envelope-from scdbackup@gmx.net) Received: from mail.gmx.net (mail.gmx.net [213.165.64.20]) by mx1.freebsd.org (Postfix) with SMTP id 79CAA8FC17 for ; Fri, 20 Feb 2009 19:50:05 +0000 (UTC) (envelope-from scdbackup@gmx.net) Received: (qmail invoked by alias); 20 Feb 2009 19:23:23 -0000 Received: from 165.126.46.212.adsl.ncore.de (HELO 212.46.126.165) [212.46.126.165] by mail.gmx.net (mp054) with SMTP; 20 Feb 2009 20:23:23 +0100 X-Authenticated: #2145628 X-Provags-ID: V01U2FsdGVkX1/DytQeRvnDhtmExq7l+xv2HMmcM+TMoxVD9eBTxs K3EUyIjM/Vnwt+ Date: Fri, 20 Feb 2009 20:23:43 +0100 From: "Thomas Schmitt" To: freebsd-ports@freebsd.org Message-Id: <1027221507572@212.46.126.165> X-Y-GMX-Trusted: 0 X-FuHaFi: 0.61 Subject: Problem with .so numbering on FreeBSD in contrast to Linux X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Feb 2009 19:50:06 -0000 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 ? (libtool is the expert. Possibly it is smarter than me.) Have a nice day :) Thomas