After updating my Mac Ports
packages including Unison
on my Mac OS X, the Unison synchronization with my Linux server didn't work anymore. Unison
stopped sometimes in the middle of the synchronization process with the
error message Failure("input_value: bad bigarray kind")
.
The reason for this error is that the server version of unison was compiled with a different version of Ocaml than the one on my Mac OS X. Rumours tell that the marshalling format of Ocaml was changed from version 4.01 to 4.02 which actually would be the underlying source for the problem. However, I couldn't find a corresponding entry in the Changelogs.
A current solution to this problem is to manually select the older version built with Ocaml 4.01 using the following command:
$ sudo port activate unison @2.40.102_1
All available versions can be listed using
$ port installed unison The following ports are currently installed: unison @2.40.102_1 unison @2.40.102_2 (active)
Here the version unison @2.40.102_2
is the one
built with Ocaml 4.02 which lead to the error mentioned.
In my current settings the following configuration is now active:
$ port installed unison The following ports are currently installed: unison @2.40.102_1 (active) unison @2.40.102_2
and synchronization runs smoothly again.