[ANNOUNCEMENT] New: unison2.48+4.04.2, unison2.48+4.08.1 [test]

Ken Brown kbrown@cornell.edu
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 mailing list