I am using the Mgt Development Environment (mgtcommerce/mgt-development-environment-5.6) on Windows 8.1. & DockerToolbox for Windows.
I also downloaded the proposed versions of OpenSSH & Unison from https://www.mgt-commerce.com/documentation/mgt-development-windows-file-synchronization and created the sync.bat as described.
Unfortunately Unison chrashes with the following error message:
Uncaught exception Failure("input_value: bad bigarray kind")
Raised by primitive operation at file "./remote.ml", line 453, characters 18-45
Called from file "./remote.ml", line 459, characters 23-61
Called from file "./lwt/lwt.ml", line 75, characters 20-23
Re-raised at file "./lwt/lwt.ml", line 135, characters 12-13
Called from file "list.ml", line 73, characters 12-15
Called from file "./lwt/lwt.ml", line 31, characters 2-37
Called from file "./lwt/lwt.ml", line 83, characters 17-46
Called from file "./lwt/win/lwt_unix_impl.ml", line 239, characters 6-40
Called from file "./uitext.ml", line 490, characters 2-113
Called from file "./uitext.ml", line 556, characters 38-66
Called from file "./uitext.ml", line 718, characters 6-47
Called from file "./uitext.ml", line 756, characters 6-125
Called from file "./uitext.ml", line 804, characters 8-47
Called from file "./uitext.ml", line 870, characters 21-43
It does work without problems:
I read several articles and most of them come to the conclusion that this is an OCaml incompatibility problem.
How to fix this? Did someone else experience that error as well?
At the end I was able to get the sync up & running with the following setup:
Commands used within Dockerfile for this:
RUN apt-get update && apt-get install -y \
ocaml \
&& curl -L https://github.com/bcpierce00/unison/archive/2.48.4.tar.gz | tar zxv -C /tmp && \
cd /tmp/unison-2.48.4 && \
sed -i -e 's/GLIBC_SUPPORT_INOTIFY 0/GLIBC_SUPPORT_INOTIFY 1/' src/fsmonitor/linux/inotify_stubs.c && \
make && \
cp src/unison src/unison-fsmonitor /usr/bin && \
cd /root && rm -rf /tmp/unison-2.48.4