[Unison-hackers] OCaml version mismatch breaks Unison 2.48.4

Andrew Schulman andrex at utexas.edu
Mon Aug 31 10:29:33 EDT 2020


> > In the past I've dealt with Unison versions by creating a separate package for
> > each version, such as unison2.48 and unison2.51. That's always worked fine.
> > Users can install them side-by-side, use whichever version they need with each
> > server, and use alternatives to choose a default version.
> 
> This was done also in Debian/Ubuntu, until we realized Unison was
> dependent of the OCaml version too.
> 
> Now, what I will do (I am the Unison maintainer in Debian) is embed the
> OCaml version in the package name (e.g. unison-2.52+4.08.1) so that one
> can have many combinations co-installed... but there will always be a
> single OCaml version in the official Debian archive for a given suite.
> 
> > By the way, it amazes me that Unison is incompatible across different versions
> > of OCaml. I don't know anything about OCaml - I'm just the packager. But it
> > seems like a bad feature.
> 
> It is because Unison uses OCaml's built-in marshalling, which used to be
> compatible across OCaml versions, but is not any more (and OCaml itself
> doesn't want to guarantee it). I am working on using different
> marshalling, which should make Unison independent of the version of
> OCaml used to compile it... but for now I'm focusing on making a new
> release that compiles out-of-the box with modern versions of OCaml.

Thank you Stéphane, this is very helpful. At least I can explain it to the
Cygwin users. 

For now I'm just going to update our unison2.48 package by rebuilding it with
OCaml 4.08.1, but I can see that we may need a more general approach. 

Too bad about the OCaml problem. I hope you're able to fix the marshalling - I'm
definitely not the right person for that. Thank you for your work on Unison!

Andrew



More information about the Unison-hackers mailing list