Re: OCaml version mismatch breaks Unison 2.48.4
Stéphane Glondu <[email protected]> Mon, 31 Aug 2020 15:27:58 +0200
| Newsgroups | gmane.network.unison.devel |
|---|---|
| Message-ID | <[email protected]> |
Andrew, Le 31/08/2020 à 15:08, Andrew Schulman a écrit : >>> It seems that I need either: >>> >>> * A patch to allow Unison 2.48.4 to build with OCaml 4.10, or >> >> The current master should compile with OCaml 4.10. Can you try in your >> Cygwin setup and report back here? (But wait for the next release before >> uploading that to Cygwin repos since there will be a version bump.) > > The problem is that I need to package Unison 2.48. Because of the version > incompatibilities in Unison, we have separate unison2.48 and unison2.51 > packages, as well as several older ones, to allow people to sync to hosts > running different versions of Unison. > > But I see that there's a unison-2.48 branch. I can try that. I expect it > includes the compatibility patch for OCaml 4.08.1 that I found in the Ubuntu > Unison source. It will work with OCaml 4.08.1, but not with OCaml 4.10.x. > 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. Cheers, -- Stéphane _______________________________________________ Unison-hackers mailing list [email protected] https://LISTS.SEAS.UPENN.EDU/mailman/listinfo/unison-hackers