[ANNOUNCEMENT] New: unison2.48+4.04.2, unison2.48+4.08.1 [test]
Sat Nov 20 21:09:09 GMT 2021
On 9/8/2020 4:57 PM, Andrew Schulman via Cygwin-announce wrote:
> You can install any number of these packages side-by-side. Separate
> packages are needed because in order to synchronize your files, you have to
> run compatible versions of Unison on the client and server. Two Unison
> executables are compatible if and only if:
> (1) They have the same first two numbers of the Unison version. For
> example, all Unison versions 2.48.* are compatible with each other. But if
> you try to use version 2.51.x to sync with a server running version 2.48.y,
> Unison will issue an error message about incompatible versions and quit.
> (2) They were built with compatible versions of the OCaml compiler.
This old problem reared its ugly head again for me, but I found a simple
solution that I'm passing on in case it's of use to others.
My situation is that for years I have been syncing my Cygwin system with a Linux
system on which I had built unison 2.48.x with OCaml 4.04.x. This is compatible
with Cygwin's unison2.48+4.04.2. But I just added a second Linux system that I
want to keep in sync with my other systems, and this one comes with a Unison
compatible with Cygwin's unison2.48+4.08.1.
It turns out that Unison's upstream maintainer is making Linux binaries
available, built with various different versions of OCaml. See, for examples,
the Assets listed under v2.51.4 at
So if I install unison2.51 on Cygwin and install the appropriate binary in ~/bin
on both of the Linux machines that I want to sync with, then everything works.
For example, if I see
$ unison -version
unison version 2.51.4 (ocaml 4.12.0)
on Cygwin, then I know that I need to use
unison-v2.51.4+ocaml-4.12.0+x86_64.linux.tar.gz on the Linux machines.
It's still annoying, but not as bad as it used to be.
More information about the Cygwin