On my raspberry pi computers:
pi@mizu:~ $ unison -version unison version 2.40.102
On my desktop ubuntu 16.04 xenial:
kayd@Trunk:~$ unison -version unison version 2.48.3
When trying to synchronize:
kayd@Trunk:~$ unison . ssh://pi@mizu/. ... Fatal error: Received unexpected header from the server: expected "Unison 2.48\n" but received "Unison 2.40\n\000\000\000\000\017", which differs at "Unison 2.40".
A related post 1 ask me to install
unison-all, which I did, but it contains only version 2.48:
kayd@Trunk:~$ ls -l /usr/bin/unison* lrwxrwxrwx 1 root root 24 Mai 20 22:15 /usr/bin/unison -> /etc/alternatives/unison lrwxrwxrwx 1 root root 13 Mär 18 16:10 /usr/bin/unison-2.48 -> unison-2.48.3 -rwxr-xr-x 1 root root 2169968 Mär 18 16:10 /usr/bin/unison-2.48.3 lrwxrwxrwx 1 root root 13 Mär 18 16:10 /usr/bin/unison-latest-stable -> unison-2.48.3
The two options I see:
- finding a PPA containing 2.40 for xenial
- finding a PPA containing 2.48 for raspberry
both have been unsuccessful so far.
Based on the answer below from User mapierce271 I looked into compiling it myself, but it seems to turn out to be a bit of a nightmare. The very last post in the unison dev mailing list e.g. states "The new OCaml 4.03 release made a small incompatible change to a library. I've fixed version 2.48 so that it will compile with either 4.02 or 4.03 and made a new release." and "P.S. I've also added a bit of hopefully better error reporting when the dreaded 'ocaml 4.02.1 not compatible with ocaml 4.02.2' failure is encountered at runtime. I did this just now, so if you've already grabbed the source tarball please do it again." which leads me to the conclusion that everything is highly fragile and will likely break if anything is updated even with a minor revision number changes. Having many computers to synchronize, one or another is regularly updated.