English version
Accueil     À propos     Téléchargement     Ressources     Contactez-nous    

Ce site est rarement mis à jour. Pour les informations les plus récentes, rendez-vous sur le nouveau site OCaml à l'adresse ocaml.org.

Browse thread
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2005-01-18 (08:25)
From: Stéphane Payrard <stef@p...>
Subject: dependancy problems?

note to pixel: you are in copy because you may be interested.

On Tue, Jan 18, 2005 at 08:09:14AM +0000, Jon Harrop wrote:
> On Tuesday 18 January 2005 07:33, Stéphane Payrard wrote:
> > Hi,
> >
> > I am an ocaml beginner and I try to compile the last snapshot of
> > cameleon. I am using mandrake with the following rpms:
> >    ocaml-lablgtk-1.2.7-1mdk
> >    ocaml-3.08.2-1mdk
> >
> > I get the following message when trying to compile:
> >
> > Files /usr/lib/ocaml/lablgtk/gtkThread.cmx
> > and /usr/lib/ocaml/threads/threads.cmxa
> > make inconsistent assumptions over implementation Thread
> >
> > Should I use different versiosn of either lablgtk or ocaml?
> > The INSTALL file suggest OCaml 3.07  and LablGtk 1.2.6 .
> > Or is there an easy way to tweak cameleon to get it to compile
> > with the ocaml and lablgtk versions I have.
> I think this problem is due to different ocaml versions being used to generate 
> lablgtk and threads.

Does this mean that the mandrake people have not done a proper job
about dependancies?  I have installed unison that also uses
lablgtk. There is no problem there. So I am puzzled.

> Interfaces between OCaml compilation units are *very* brittle. This is being 
> discussed on the list at the moment, as even a minor version change of the 
> compiler (e.g. 3.08.2 -> 3.08.3) breaks compatibility.

Naive question: is this due to some internal layout of compiled structures like
classe vtables in C++? Or is this just because modules are updated and
their signature change?

> The good news is that this binary incompatibility is because the compiler is 
> very pedantic about interfaces and guarantees that everything will work.
> Your best bet is either to compile all of the packages yourself or to use 
> someone else's packages. I find Debian to be excellent in this
> respect.
> Cheers,
> Jon.
> PS: 3.08 has some useful additions which you may well find that people use in 
> their code now (e.g. immediate objects).

Thx for you help.