[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: ocaml-tools depends on ocaml-3.01



On Mon, Apr 09, 2001 at 07:02:04AM -0700, Ian Zimmerman wrote:
> 
> Sven> as we are pretty sure that ocaml bytecode will surely not be
> Sven> compatible with ocam l3.02.
> 
> Sven> Because the virtual machine was upgraded, and the 3.00 bytecode
> Sven> is no longer compatible with the 3.01 virtual machine. I am not
> Sven> sure, but i guess this is also what will happen when 3.02 is
> Sven> released.
> 
> Sven> I may be wrong here, if so please proove it to me
> 
> Sorry, I don't have 3.01 yet, so if you say it's incompatible it
> probably is.  

Not sure though. When i first packaged ocaml 3.01 i had some messages about
some bytecode stuff not being compatible. Maybe it is only the .cmi, i don't
know exactly, it would be nice to ask the ocam lteam about it, but in doubt, i
think it is better to rebuild all your stuff. I don't think this is difficult
or expensive to do, especially as all this stuff is debian packages, and will
be built for you by the maintainer and/or the various auto-builders.

Also, since i am no seer, i couln't make predictions of the future, and i
cannot say for sure that future versions will remain compatible, and anyway,
as a ocaml user since the early csl days, my experience is that it is best to
recompile everything once there is a new ocaml release.

> Sven> In any icase it doesn't cost much to rebuild the libraries,
> Sven> especially as many of them did see a new release together with
> Sven> 3.01, and woody is not yet released.
> 
> itz> 3.00.  Just because 1 library (ocamldot) turns out to break, is
> itz> it a reason to force _all_ ocaml related packages to be upgraded
> itz> in lockstep:
> 
> Sven> You surely have a fast connection, so what do you complain
> Sven> about, just run a apt-get upgrade in the background, and that's
> Sven> it.
> 
> Sven> ocaml (>=3.01), ocaml (<<3.02)
> 
> itz> Like Georges, I don't like this.  We need the >= _for
> itz> ocaml-tools_, and that's it.  Not for other libraries unless they
> itz> really break, and nothing about 3.02 until it comes out and can
> itz> be tested.
> 
> Sven> Well, but then _if_ the passage from 3.01 to 3.02 breaks the VM
> Sven> compatibility, thing that may, or may not, happen, we have no
> Sven> way to enforce that the new ocaml packagfe is not used with
> Sven> older (incompatible) libraries, or even bytecode. And seeing
> Sven> that new ocaml releases are far between (well it is more or less
> Sven> 1 year since the 3.00 release that 3.01 was released), this is
> Sven> not so much of a cost. Allways keep the long term in mind.
> 
> It's not just about my downloading convenience.  With the scheme you
> propose, all ocaml-related packages will always have to be at exactly
> the same compiler level at the time of a Debian release.  Are you sure
> you want to keep track of that?  And what about other maintainers?

Well, i will most assuredly do it for my packages. I have noticed that most of
them will anyway have a new release shortly after the ocaml release, so it is
no trouble for me.

Now, for other maintainer, they can do what they like, i just give my
appreciation of what i think is the correct way to do this, but i have no
authority to force others to follow my views. 

That said, from a pure technical point of view, the only manner, well the only
i know of, to ensure that if there is a future compatibility breakage, nobody
will have incompatibile libraries installed is to use the trick i said.

Now, it could be possible to use a trick with a virtual package, have all the
libraries depend on it, and ocaml conflict with it once there are incompatible
changes made. But is it worth it ? I don't think it is right now, but it may
be in the future. If that is so, then we could use that tactic.

> itz> We can always add conflicts to the ocaml 3.02 package to force
> itz> uninstallation of the breaking libraries.
> 
> Sven> So you would like me to add a _long_ list of conflicts to the
> Sven> ocaml package ?  a list which may grow as time pass ? And
> Sven> release a new ocaml package each time that a new library
> Sven> appears, as to list it ?
> 
> Sven> This is not the way of least effort, don't you think ?
> 
> Not _every_ old library needs to conflict, only those that break.  And
> the conflict is added at the time somebody complains about the
> breakage.

Not sure, but like said, i think that some of the bytecode conflict, and that
probably for every library. I will ask the ocaml list, to be sure of this.

> That's what I would do, obviously I am in no position to impose my
> views on you.  It just feels like your scheme abuses the
> dependency/conflict mechanism for purposes other than true
> dependencies.

Mmm, What are versions dependencies about ? 

Anyway, ... let's continue this discution once i have spoken with the ocaml
team about incompatibilities ...

Friendly,

Sven Luther



Reply to: