X-Loop: help-debbugs@HIDDEN Subject: bug#8765: Incorrect library versioning on *BSDs Resent-From: Lasse Collin <lasse.collin@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-To: owner <at> debbugs.gnu.org Resent-CC: bug-libtool@HIDDEN Resent-Date: Mon, 30 May 2011 17:54:02 +0000 Resent-Message-ID: <handler.8765.B.130677798823226 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: report 8765 X-GNU-PR-Package: libtool X-GNU-PR-Keywords: To: 8765 <at> debbugs.gnu.org X-Debbugs-Original-To: bug-libtool@HIDDEN Received: via spool by submit <at> debbugs.gnu.org id=B.130677798823226 (code B ref -1); Mon, 30 May 2011 17:54:02 +0000 Received: (at submit) by debbugs.gnu.org; 30 May 2011 17:53:08 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1QR6eJ-00062X-0q for submit <at> debbugs.gnu.org; Mon, 30 May 2011 13:53:08 -0400 Received: from eggs.gnu.org ([140.186.70.92]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from <lasse.collin@HIDDEN>) id 1QQy8S-0001tp-Nb for submit <at> debbugs.gnu.org; Mon, 30 May 2011 04:47:42 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <lasse.collin@HIDDEN>) id 1QQy8M-00070T-En for submit <at> debbugs.gnu.org; Mon, 30 May 2011 04:47:35 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=unavailable version=3.3.1 Received: from lists.gnu.org ([140.186.70.17]:55735) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <lasse.collin@HIDDEN>) id 1QQy8M-00070O-D9 for submit <at> debbugs.gnu.org; Mon, 30 May 2011 04:47:34 -0400 Received: from eggs.gnu.org ([140.186.70.92]:44927) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from <lasse.collin@HIDDEN>) id 1QQy8L-00060O-9s for bug-libtool@HIDDEN; Mon, 30 May 2011 04:47:34 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <lasse.collin@HIDDEN>) id 1QQy8J-0006zo-QO for bug-libtool@HIDDEN; Mon, 30 May 2011 04:47:33 -0400 Received: from mailfw02.zoner.fi ([84.34.147.249]:9576) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <lasse.collin@HIDDEN>) id 1QQy8J-0006zd-Ji for bug-libtool@HIDDEN; Mon, 30 May 2011 04:47:31 -0400 Received: from www25.zoner.fi ([84.34.147.45]) by wwwsmtp02.zoner.fi with ESMTP; 30 May 2011 11:47:27 +0300 Received: from 86-60-156-244-dyn-dsl.ssp.fi ([86.60.156.244] helo=kaneli.localnet) by www25.zoner.fi with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.72) (envelope-from <lasse.collin@HIDDEN>) id 1QQy8E-0004Aw-T2 for bug-libtool@HIDDEN; Mon, 30 May 2011 11:47:26 +0300 From: Lasse Collin <lasse.collin@HIDDEN> Date: Mon, 30 May 2011 11:46:56 +0300 User-Agent: KMail/1.13.7 (Linux/2.6.38-ARCH; KDE/4.6.3; x86_64; ; ) MIME-Version: 1.0 X-Length: 2692 X-UID: 51 Content-Type: Text/Plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Message-Id: <201105301146.56637.lasse.collin@HIDDEN> X-Antivirus-Scanner: Clean mail though you should still use an Antivirus X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 140.186.70.17 X-Spam-Score: -6.6 (------) X-Mailman-Approved-At: Mon, 30 May 2011 13:53:05 -0400 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/pipermail/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -6.6 (------) (Please CC replies to me, I'm not subscribed to the list.) It seems that libtool does library versioning wrong on FreeBSD, NetBSD, OpenBSD, MirOS BSD (based on OpenBSD), and probably also DragonFly BSD (based on FreeBSD). I'm not an expert with *BSDs, but I have understood that the versioning should be similar to version_type=linux: GNU/Linux: libfoo.so.$major.$age.$revision FreeBSD: libfoo.so.$major (It's ELF. a.out is dead.) NetBSD: libfoo.so.$major.$age OpenBSD: libfoo.so.$major.$age That is, it shouldn't be libfoo.so.$current or libfoo.so.$current.$revision. Should this be fixed? The hard part is dealing with the (temporary) breakage that the fix would cause. It is problematic especially because the version numbers will get smaller (current vs. current-age) and thus may conflict with older versions of the library that have been built with older libtool versions. There are some operating system specific hacks that fix the incorrect versioning used by unpatched GNU libtool. At least some packages in the FreeBSD ports use FreeBSD-specific "ltverhack". I don't know if it is used with all ports that use libtool. On OpenBSD it's packager's job to handle library versioning, so upstream versioning is overriden. Also, most packages needing libtool get built using OpenBSD's own libtool (a Perl script) instead of GNU libtool. MirOS BSD has a patched libtool which does the versioning correctly. GNU libtool in NetBSD's pkgsrc has patches that change library versioning for multiple operating systems, including the *BSDs mentioned above. If GNU libtool is fixed to use correct versioning on *BSDs, the existence of the OS-specific hacks might mean that many libraries won't be affected at all because the old libraries have already been built with corrected versioning. On the other hand, some libs might not have used those hacks so some breakage may still happen. Fixing the versioning in GNU libtool might also break the hacks that have been in use for many years. Below are some references I happened to find. FreeBSD: From FreeBSD Developer's Handbook: http://www.freebsd.org/doc/en/books/developers-handbook/policies-shlib.html Look for "ltverhack" on this page: http://www.freebsd.org/gnome/docs/gnome_porting.html Something more about ltverhack: http://freebsd.monkey.org/freebsd-multimedia/200702/msg00146.html http://people.freebsd.org/~mezz/libtool.txt NetBSD: Patches in pkgsrc, see especially manual-libtool.m4: http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/devel/libtool/patches/ OpenBSD: Library versioning: http://www.openbsd.org/faq/ports/specialtopics.html OpenBSD libtool: http://www.openbsd.org/cgi-bin/cvsweb/ports/infrastructure/bin/libtool MirOS BSD: A recent request to get MirOS BSD support into GNU libtool: http://lists.gnu.org/archive/html/libtool-patches/2011-02/msg00008.html -- Lasse Collin | IRC: Larhzu @ IRCnet & Freenode
Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.427 (Entity 5.427) Content-Type: text/plain; charset=utf-8 X-Loop: help-debbugs@HIDDEN From: help-debbugs@HIDDEN (GNU bug Tracking System) To: Lasse Collin <lasse.collin@HIDDEN> Subject: bug#8765: Acknowledgement (Incorrect library versioning on *BSDs) Message-ID: <handler.8765.B.130677798823226.ack <at> debbugs.gnu.org> References: <201105301146.56637.lasse.collin@HIDDEN> X-Gnu-PR-Message: ack 8765 X-Gnu-PR-Package: libtool Reply-To: 8765 <at> debbugs.gnu.org Date: Mon, 30 May 2011 17:54:02 +0000 Thank you for filing a new bug report with GNU. This is an automatically generated reply to let you know your message has been received. Your message is being forwarded to the package maintainers and other interested parties for their attention; they will reply in due course. Your message has been sent to the package maintainer(s): bug-libtool@HIDDEN If you wish to submit further information on this problem, please send it to 8765 <at> debbugs.gnu.org. Please do not send mail to help-debbugs@HIDDEN unless you wish to report a problem with the Bug-tracking system. --=20 8765: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D8765 GNU Bug Tracking System Contact help-debbugs@HIDDEN with problems
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.