From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id TAA05326; Mon, 12 Apr 2004 19:38:54 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f 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 TAA06105; Mon, 12 Apr 2004 19:38:53 +0200 (MET DST) Received: from smtp1.adl2.internode.on.net (smtp1.adl2.internode.on.net [203.16.214.181]) by nez-perce.inria.fr (8.12.10/8.12.10) with ESMTP id i3CHdnjq005012; Mon, 12 Apr 2004 19:39:50 +0200 Received: from [192.168.1.200] (ppp116-94.lns1.syd2.internode.on.net [150.101.116.94]) by smtp1.adl2.internode.on.net (8.12.9/8.12.9) with ESMTP id i3CHcleZ007339; Tue, 13 Apr 2004 03:08:48 +0930 (CST) Subject: Re: [Caml-list] autocompile From: skaller Reply-To: skaller@users.sourceforge.net To: Xavier Leroy Cc: skaller , caml-list In-Reply-To: <20040412183845.A1527@pauillac.inria.fr> References: <1081681298.20677.396.camel@pelican> <20040412183845.A1527@pauillac.inria.fr> Content-Type: text/plain Message-Id: <1081791525.20677.491.camel@pelican> Mime-Version: 1.0 X-Mailer: Ximian Evolution 1.2.2 (1.2.2-4) Date: 13 Apr 2004 03:38:46 +1000 Content-Transfer-Encoding: 7bit X-Miltered: at nez-perce by Joe's j-chkmail ("http://j-chkmail.ensmp.fr")! X-Loop: caml-list@inria.fr X-Spam: no; 0.00; caml-list:01 sourceforge:01 2004:99 38,:01 usr:01 pervasives:01 usr:01 lablgtk:01 pervasives:01 lablgtk:01 crashing:01 transitively:01 ocaml-only:01 dependencies:01 pcre:01 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk X-Status: X-Keywords: X-UID: 261 On Tue, 2004-04-13 at 02:38, Xavier Leroy wrote: > > I have this annoying problem sometimes: > > > > The files /usr/local/lib/ocaml/pervasives.cmi > > and /usr/local/lib/ocaml/lablgtk2/gdk.cmi make inconsistent assumptions > > over interface Pervasives > > > > Of course the problem is that I installed a new version > > of Ocaml from a CVS build, but didn't rebuild lablgtk2. > > Rejoice that this error is caught rather than crashing randomly > later (as can happen with library upgrades in C or C++). I do: thanks! > > Obviously, just saying 'reinstall lablgtk2' isn't > > an answer: it's in the standard distribution location, > > the installation process should handle that automatically. > > Sorry for nit-picking, but lablgtk2 is not part of the core OCaml > distribution, so there is no way installing the latter can > recompile the former. I know it isn't in the core, but it -- and many other packages -- do install themselves in the standard location. > But more generally you've just hit the reason why package management is > needed for OCaml. Transitively rebuild and reinstall packages that > depend on an updated package is exactly the job of a package manager. I was hoping that there might be a sensible intermediate level of support which worked 'automagically' for simple Ocaml-only algorithms and data structures libraries, which typically don't require any special build procedures. > > I was thinking: why not build the dependencies > > into the compiled files, so if a compiled file is > > out of date it can be rebuilt automatically? > > I don't think this is sufficient. I agree, in general it isn't. However, consider turning this issue inside out. What if you *specify* that it is sufficient? For a wide class of libraries, it is enough. So if the Ocaml standard library directory is simply *deemed* to contain only such libraries, the rebuilding can be automated. This may mean, for example, that the rebuilding would fail for some libraries, but the conclusion should be that the library should not be put in the standard location. For example one may ask whether PCRE should go in the standard location, since it may need to be rebuilt if the underlying C libraries is rebuilt: perhaps the build 'scans' the C headers looking to see what flags are available and adds them to the Ocaml source before compilation. That kind of build process would not fit with the simple autorebuild model .. so don't put PCRE in the standard location. -- John Skaller, mailto:skaller@users.sf.net voice: 061-2-9660-0850, snail: PO BOX 401 Glebe NSW 2037 Australia Checkout the Felix programming language http://felix.sf.net ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners