October 23, 2014

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.

comments powered by Disqus

Topics: