From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by yquem.inria.fr (Postfix) with ESMTP id 8DC83BC8C for ; Sun, 16 Jan 2005 19:23:24 +0100 (CET) Received: from pauillac.inria.fr (pauillac.inria.fr [128.93.11.35]) by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id j0GINNk5016151 for ; Sun, 16 Jan 2005 19:23:24 +0100 Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id TAA23463 for ; Sun, 16 Jan 2005 19:23:23 +0100 (MET) Received: from smtp7.wanadoo.fr (smtp7.wanadoo.fr [193.252.22.24]) by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id j0GINNOV016146 for ; Sun, 16 Jan 2005 19:23:23 +0100 Received: from me-wanadoo.net (localhost [127.0.0.1]) by mwinf0707.wanadoo.fr (SMTP Server) with ESMTP id 3E2D318000AE; Sun, 16 Jan 2005 19:23:23 +0100 (CET) Received: from pegasos (AStrasbourg-251-1-58-54.w82-126.abo.wanadoo.fr [82.126.136.54]) by mwinf0707.wanadoo.fr (SMTP Server) with ESMTP id C7CA918000AB; Sun, 16 Jan 2005 19:23:22 +0100 (CET) X-ME-UUID: 20050116182322818.C7CA918000AB@mwinf0707.wanadoo.fr Received: from luther by pegasos with local (Exim 4.34) id 1CqF3H-0008Rl-RK; Sun, 16 Jan 2005 19:23:03 +0100 Date: Sun, 16 Jan 2005 19:23:03 +0100 To: Jacques Garrigue Cc: sven.luther@wanadoo.fr, caml-list@inria.fr, debian-ocaml-maint@lists.debian.org Subject: Re: [Caml-list] binary compatibility of 3.08.3 Message-ID: <20050116182303.GA32427@pegasos> Mail-Followup-To: Jacques Garrigue , sven.luther@wanadoo.fr, caml-list@inria.fr, debian-ocaml-maint@lists.debian.org References: <20050114133632.GA4923@pegasos> <20050115120719.GB11037@yquem.inria.fr> <20050116133724.GB1467@pegasos> <20050116.082637.115932729.garrigue@math.nagoya-u.ac.jp> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline In-Reply-To: <20050116.082637.115932729.garrigue@math.nagoya-u.ac.jp> User-Agent: Mutt/1.5.6+20040907i From: Sven Luther X-Miltered: at nez-perce with ID 41EAB11B.003 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Miltered: at nez-perce with ID 41EAB11B.001 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; caml-list:01 binary:01 sven:01 luther:01 sven:01 luther:01 wrote:01 binary:01 bug:01 inlined:01 bug:01 ocaml:01 bytecode:01 ocaml:01 incompatible:01 X-Spam-Checker-Version: SpamAssassin 3.0.0 (2004-09-13) on yquem.inria.fr X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled version=3.0.0 X-Spam-Level: On Sun, Jan 16, 2005 at 08:26:37AM -0800, Jacques Garrigue wrote: > From: Sven Luther > > > Well, if binary compatibility could be maintained at least on the bug fix > > branch, it would be good already. > > > > But if what Jacques says is true, and the binary compatibility is only broken > > by the way the diggests are calculated, maybe there may be a > > solution there ? > > > > Or is the binary-compatibility breakage really needed ? > > Actually, what I gave is only one possible reason for breakage. > Another that comes to mind is that .cmx's contain code to be inlined. > If any file was modified in the standard library (to fix a bug there), > then there is a good chance that this code changed, and as a result > the digest will make it binary incompatible. Oh well. > Binary compatibility as you get it in C is just a hack: you drop some > consistency checks, and hope that the user is clever enough to not use > incompatible libraries. Ocaml chooses the safe way. This could be made > a bit more resilient, particularly for bytecode, but you would still > have breakages in the bug fix branch. What would be nice in this light, would be an exact list of the digests, and thus the modules, that changed, so we could only rebuild the packages that are actually affected. That said, such behavior is a major drawback for using ocaml in real projects, i believe. > > Anyway, it would be nice if the breakage would at least be announced in the > > release documentation. Especially if it doesn't touch all the modules and > > libraries, as was the case for 3.08.2. > > You can safely assume that every new release breaks binary compatibility. > (I.e. that some digests in the libraries have changed.) Yep, understood that now, 3.08.2 came as a big surprise though, as we somehow expected no binary compatibility change for a bug fix release. But now we know about it, and i will enable the full-rebuild process for the 3.08.3 release, hoping that it will be in time for the debian/sarge release. Friendly, Sven Luther