Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

When trying to sync two paths (one of which is remote) via ssh, unison fails with

Fatal error: Internal error: New archives are not identical.

while syncing via a network mount works just fine.

While unison -debug all yields no indication on the possible error, having it use ssh -v causes a lot of

channel 0: bad ext data

errors. However, both machines run the same version of unison (2.40.63).

share|improve this question
It looks like this problem is also affecting Fedora 18, which now includes OCaml 4.00.1. It looks like packaging three versions of Unison wasn't enough to make the program usable. :( – amcnabb Jan 18 '13 at 0:09
@amcnabb Good catch, did you post a bug report? The Karl M Windows version is probably still widely in use, apart from the interoperability issues with any older distribution. The hash inconsistencies are of course a bug in unison/OCaml themselves as well... – Tobias Kienzler Jan 18 '13 at 7:24
It's also an issue with Arch Linux, although there there's a 2.32 PKGBUILD, and the Downgrading Arch-Wiki entry may be helpful as well – Tobias Kienzler Jan 18 '13 at 7:31
@amcnabb At least my locally compiled unison binary is a standalone one with static linking, so you can probably just use e.g. the 2.32/Ocaml3.12 build from another distro on the same architecture. Some x86 and and x86_64 builds are available on the unison homepage – Tobias Kienzler Jan 18 '13 at 7:34
up vote 6 down vote accepted

As hinted at by this macports.org ticket, the problem lies in having used two different major versions of OCaml (3.12 vs 4.0) in compilation on the two machines. Either use the same binary on both machines or (as was the case for me due to different architectures) recompile unison with identical OCaml versions.

(Side note: The Windows version compiled by Karl M requires OCaml 3.12)

share|improve this answer
Thanks for a very succinct and useful answer. This is made worse by the fact that the Unison build on Debian squeeze currently fails, so I had to use a binary built with the wrong OCaml version. – RichVel Mar 8 '13 at 14:44

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.