In order to use Unison across a network, both ends need to run the same version built with the same version of the OCaml compiler. This is probably what is causing your issues, as it typically results in the message you are seeing. Most likely, each Unison binary was built with the OCaml version which is available in the distro’s repositories.
More recent Unison versions (starting with 2.40) are available as binary downloads from the project itself. Starting with 2.51.3, they even offer builds with different OCaml versions. Grab the one you want and deploy it to both of your machines, which ensures you are running the same on both ends.
Or you can downgrade the Mint 18 machine to the Unison package that shipped with Mint 17—grab the .deb
for Mint 17 from the repositories and install it with dpkg
. (Did a similar trick on Ubuntu; it should work on most distros as Unison has no dependencies other than libc
.)
In order to prevent the updater from undoing your changes on its next run, put the package on hold:
sudo apt-mark hold unison-gtk
(If you decide to upgrade in the future, re-running this command with unhold
will undo this, allowing the package to be upgraded again.)
You may have to delete your Unison cache—~/.unison/ar*
and ~/.unison/fp*
—on both ends.
On the long run, the team are working on getting rid of the OCaml version dependency (as I understand issue #375, the dev is just waiting for the next release to merge his changes). We might get to enjoy this as soon as version 2.52 or 2.53. They also have plans to introduce interoperability between different Unison versions, as long as the wire protocol remains unchanged (#407), but that might take a little longer.