<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Stephane,<div class=""><br class=""></div><div class="">Just want to confirm that the GitHub URL you provided:</div><div class=""><br class=""></div><div class=""><blockquote type="cite" class=""><div class="" style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><blockquote class="" style="margin: 0px 0px 0px 40px; border: none; padding: 0px;"><div class=""><blockquote type="cite" class=""> <a href="https://github.com/glondu/unison/tree/unison-2.51" class="">https://github.com/glondu/unison/tree/unison-2.51</a></blockquote></div></blockquote></div></blockquote><div class=""><br class=""></div><div class="">fixed the compile problem, as you had predicted (although I was thrown off by the URL being -2.51 and the source being -2.53).  I did not upgrade OCaml from .0 to .1, but I have tested and now have the following successfully working together:</div><div class=""><br class=""></div></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><div class=""><div class="">macOS:<span class="Apple-tab-span" style="white-space:pre">           </span><span style="font-family: Menlo; font-size: 11px; background-color: rgb(255, 255, 255);" class="">unison version 2.51.2 (ocaml 4.08.1)</span></div></div><div class=""><div class=""><span style="font-family: Menlo; font-size: 11px; background-color: rgb(255, 255, 255);" class=""><br class=""></span></div></div><div class=""><div class="">Raspbian:<span class="Apple-tab-span" style="white-space:pre">        </span><span style="font-family: Menlo; font-size: 11px; background-color: rgb(255, 255, 255);" class="">unison version 2.51.3 (ocaml 4.08.0)</span></div></div></blockquote><div class=""><div><br class=""></div><div>which is apparently close enough.  Not sure if it is always a good idea or not, but I've many times in the past used Unison versions that are a patch level off and not had any problems.</div><div><br class=""></div><div>Thanks for your help!</div><div><br class=""></div><div>This is my first time dipping my toe into building Unison from scratch -- I have always used pre-builts in the past, and tried to keep them in-sync between macOS + Raspbian + CentOS, which has not always been easy.  But moreover, the pre-builts that I am finding are really quite old (5 to 9 years old).</div><div><br class=""></div><div>Regards,</div><div><br class=""></div><div>Dave.</div><div><br class=""><blockquote type="cite" class=""><div class="">On Aug 23, 2020, at 11:07 AM, David Filip <<a href="mailto:dfilip@colornet.com" class="">dfilip@colornet.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html; charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class="">Stephane,</div><div class=""><br class=""></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><font color="#0433ff" class="">This seems to contradict what you said above... unless Brew provides<br class="">binary packages that are not recompiled on each OCaml update.</font></blockquote><div class=""><br class=""></div><div class="">Yes, Brew provides binary packages.  But for Raspbian, I am doing the compiling myself.</div><div class=""><br class=""></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><div class=""><blockquote type="cite" class="">Unison 2.51.2 does not compile with OCaml 4.08.1. In the following branch:</blockquote></div><div class=""><blockquote type="cite" class=""><br class=""></blockquote></div><div class=""><blockquote type="cite" class=""> <a href="https://github.com/glondu/unison/tree/unison-2.51" class="">https://github.com/glondu/unison/tree/unison-2.51</a></blockquote></div><div class=""><blockquote type="cite" class=""><br class=""></blockquote></div><div class=""><blockquote type="cite" class="">you will find a fix for that.</blockquote></div></blockquote><div class=""><br class=""></div><div class="">OK, I'll check out that fix, and see if I get any further.</div><div class=""><br class=""></div><div class=""><blockquote type="cite" class="">I would advise you to use the exact same version, 4.08.1. It is probably<br class="">easier to use opam.</blockquote></div><div class=""><br class=""></div><div class="">OK, what I found before was a page on <a href="http://ocaml.org/" class="">ocaml.org</a> which had 4.08.0 as the latest version, with older versions also listed, but I've looked around and found another page on that site which has later releases (got to the earlier page via Google).</div><div class=""><br class=""></div><div class="">So you are saying that the even the patch (.0 vs .1) level of OCaml has to match?</div><div class=""><br class=""></div><div class="">Let me give this another try and report back.</div><div class=""><br class=""></div><div class="">Cheers,</div><div class=""><br class=""></div><div class="">Dave.</div><div class=""><br class=""><div class=""><blockquote type="cite" class=""><div class="">On Aug 23, 2020, at 10:39 AM, Stéphane Glondu <<a href="mailto:steph@glondu.net" class="">steph@glondu.net</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">Dear David,<br class=""><br class="">Le 23/08/2020 à 16:24, David Filip a écrit :<br class=""><blockquote type="cite" class="">So the latest version of Unison on macOS Brew is:<br class=""><br class="">    $ unison -version<br class="">    unison version 2.51.2 (ocaml 4.08.1)<br class=""><br class="">[...]<br class=""><br class="">So I download OCaml 4.08 to Raspbian, and successfully built and<br class="">installed it:<br class=""><br class="">    # ocaml -version<br class="">    The OCaml toplevel, version 4.08.0<br class=""></blockquote><br class="">I would advise you to use the exact same version, 4.08.1. It is probably<br class="">easier to use opam.<br class=""><br class=""><blockquote type="cite" class="">I then went back to Unison 2.51, and did a:<br class=""><br class="">    # make clean<br class="">    # make<br class=""><br class=""><br class="">but whereas with OCaml 4.02 I just received a bunch of warnings, I now<br class="">receive a fatal error when compiling Unison with OCaml 4.08 (to match<br class="">the version that Unison on Brew was built with):<br class=""><br class="">    ocamlopt: system.mli ---> system.cmi<br class="">    ocamlopt -g -unsafe-string -I lwt -I ubase -I system -I fsmonitor -I<br class="">    fsmonitor/linux -I fsmonitor/windows -I system/generic -I<br class="">    lwt/generic -c /opt/unison-2.51.2/src/system.mli<br class="">    ocamlopt: system.ml ---> system.cmx<br class="">    ocamlopt -g -unsafe-string -I lwt -I ubase -I system -I fsmonitor -I<br class="">    fsmonitor/linux -I fsmonitor/windows -I system/generic -I<br class="">    lwt/generic -c /opt/unison-2.51.2/src/system.ml<br class="">    *File "/opt/unison-2.51.2/src/system.ml", line 1*:<br class="">    *Error*: The implementation /opt/unison-2.51.2/src/system.ml<br class="">           does not match the interface system.cmi:<br class="">           Values do not match:<br class="">             val link : ?follow:bool -> string -> string -> unit<br class="">           is not included in<br class="">             val link : fspath -> fspath -> unit<br class="">           *File "/opt/unison-2.51.2/src/system/system_intf.ml", line<br class="">    70, characters 0-35*:<br class="">             Expected declaration<br class="">           *File "/opt/unison-2.51.2/src/system/system_generic.ml", line<br class="">    50, characters 4-8*:<br class="">             Actual declaration<br class="">    Makefile.OCaml:422: recipe for target 'system.cmx' failed<br class="">    make[1]: *** [system.cmx] Error 2<br class="">    make[1]: Leaving directory '/opt/unison-2.51.2/src'<br class="">    Makefile:6: recipe for target 'text' failed<br class="">    make: *** [text] Error 2<br class=""></blockquote><br class="">Unison 2.51.2 does not compile with OCaml 4.08.1. In the following branch:<br class=""><br class="">  <a href="https://github.com/glondu/unison/tree/unison-2.51" class="">https://github.com/glondu/unison/tree/unison-2.51</a><br class=""><br class="">you will find a fix for that.<br class=""><br class=""><blockquote type="cite" class="">Any ideas on how to fix this?  The Brew version of OCaml for macOS is<br class="">actually 4.0.9.<br class=""></blockquote><br class="">This seems to contradict what you said above... unless Brew provides<br class="">binary packages that are not recompiled on each OCaml update.<br class=""><br class=""><br class="">Cheers,<br class=""><br class="">-- <br class="">Stéphane<br class=""><br class=""></div></div></blockquote></div><br class=""></div></div></div></blockquote></div><br class=""></div></body></html>