#58852 closed defect (fixed)
unison @2.51.2_2: problem with ocaml @4.08.1 - build failure
Reported by: | majoc-at-astro (majoc-at-astro) | Owned by: | ryandesign (Ryan Carsten Schmidt) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.5.4 |
Keywords: | Cc: | nigelhorne (Nigel Horne) | |
Port: | unison |
Description
Unison @2.51.2_2, which built OK last week, now fails when built using ocaml @4.08.1
. Full log enclosed, but here's the punchline:
ocamlopt: system.ml ---> system.cmx ocamlopt -g -unsafe-string -I lwt -I ubase -I system -I fsmonitor -I fsmonitor/linux -I fsmonitor/windows -I system/generic -I lwt/generic -ccopt -mmacosx-version-min=10.12 -I /opt/local/lib/ocaml/site-lib/lablgtk2 -c /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_unison/unison/work/unison-2.51.2/src/system.ml File "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_unison/unison/work/unison-2.51.2/src/system.ml", line 1: Error: The implementation /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_unison/unison/work/unison-2.51.2/src/system.ml does not match the interface system.cmi: Values do not match: val link : ?follow:bool -> string -> string -> unit is not included in val link : fspath -> fspath -> unit File "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_unison/unison/work/unison-2.51.2/src/system/system_intf.ml", line 70, characters 0-35: Expected declaration File "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_unison/unison/work/unison-2.51.2/src/system/system_generic.ml", line 50, characters 4-8: Actual declaration make[1]: *** [system.cmx] Error 2
macOS: 10.12 (Xcode 9.2), 10.13 (Xcode 9.4.1), 10.14 (Xcode 10.3).
I don't pretend to understand ocaml, so I won't spoil the kill with uninformed speculation. Please let me know if there's any further information that would help. Thanks in advance.
Attachments (2)
Change History (9)
Changed 5 years ago by majoc-at-astro (majoc-at-astro)
Attachment: | unison.build.out added |
---|
comment:1 Changed 5 years ago by domenic87 (Domenico Marson)
comment:2 Changed 5 years ago by martinhanzalek (Martin Hanzalek)
Same problem here, unison can't be build with current ocaml ocaml-4.08.1.
However, when I installed oled version of ocaml manually (4.07.1), unison was build OK.
comment:4 Changed 5 years ago by dsteck
There are patches from March that seem to address this, linked from the github issue mentioned above: https://github.com/bcpierce00/unison/commit/23fa129254a3304902739fc989950cc747d1e0b3#diff-2a830ee6e028c8ce19c787701fc19c16
I made macports patch files and modified the portfile to use them. The result compiles for me, though I haven't tested the functionality of the resulting unison build. Portfiles and patch files attached (patches.tgz).
comment:5 Changed 5 years ago by mf2k (Frank Schima)
Thanks. Note that you are more likely to get this committed, and faster, if you submit a GitHub pull request.
comment:6 Changed 5 years ago by ryandesign (Ryan Carsten Schmidt)
Owner: | set to ryandesign |
---|---|
Resolution: | → fixed |
Status: | new → closed |
comment:7 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)
In e75563b7f431a2cb21c0bc03ff483bc1f970d64d/macports-ports (dar, master, py38-reproject, revert-6945-rust-1.43.0, wireshark):
Same problem/same error here! Is there any possible solution to it? I found the problem is also reported in the official unison repository (https://github.com/bcpierce00/unison/issues/277) for the HomeBrew installation, but they say is not present in the Master branch!