#35407 closed defect (wontfix)
unison fails with "Fatal error: Internal error: New archives are not identical"
Reported by: | dcecchin@… | Owned by: | macports-tickets@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.1.2 |
Keywords: | Cc: | rwilcox (Ryan Wilcox), someuser12, shamardin@… | |
Port: | unison |
Description
I have three systems:
- System: FreeBSD sanction.local 9.0-RELEASE-p3
- unison version 2.40.63
- System: Linux kothas 3.2.0-27-generic - Ubuntu 12.04
- unison version 2.40.65
- System: Darwin palanthas.local 12.0.0 - Mountain Lion 10.8
- unison version 2.40.65 - built against OCaml 4.0.0
I made a file (with dd) in a directory then, downloaded it to palanthas via scp manually.
It should say:
Looking for changes Waiting for changes from server Reconciling changes Nothing to do: replicas have not changed since last sync.
But instead I got this error:
Fatal error: Internal error: New archives are not identical. Retaining original archives. Please run Unison again to bring them up to date
Rerunning unison again doesn't fix the problem
Transfers between any of the systems seem to work except when palanthas is either receiving data or sending it over ssh. palanthas is able to do synchronizations on its own filesystem not over ssh with the expected result ie:
dcecchin@palanthas:~$ unison -ui text ~/palanthas_to_palanthas_using-macports_version.a palanthas_to_palanthas_using-macports_version.b
Attachments (1)
Change History (11)
comment:1 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
Port: | unison added |
---|
comment:2 Changed 12 years ago by dcecchin@…
It seems to be a problem since I reinstalled with mountain lion. It used to work just fine before that, and the official binaries work fine (I've temporarily switched over to them). It is possible it is caused by building against OCaml 4.0.0 maybe. I've tested this a number of times now deleting my ~/Library/Application\ Support/Unison/ and ~/.unison directory on the server.
I suspect this break in functionality has something to do with that.
comment:3 Changed 12 years ago by dcecchin@…
It's quite well possible it is related to this http://tech.groups.yahoo.com/group/unison-users/message/10430 - Different archive formats built with ocaml-3.12.1/4.00_beta2
It seems if the server that unison is syncing with uses a different OCaml version it will not work. Eg FreeBSD currently has OCaml 3.12.1 and http://www.freebsd.org/cgi/cvsweb.cgi/ports/lang/ocaml/ and Ubuntu 12.04 has the same version http://packages.ubuntu.com/precise/ocaml which is why it has worked up until now.
comment:4 Changed 12 years ago by dcecchin@…
This should probably be marked as WONTFIX because it's really an upstream issue.
I guess it would have been possible to add a flag like +ocaml3 or +ocaml4 so that the user may choose which version they want to build against if ocaml3 was actually still available in macports.
comment:5 Changed 12 years ago by mf2k (Frank Schima)
Resolution: | → wontfix |
---|---|
Status: | new → closed |
Agreed. But you might want to open a request ticket for ocaml3 and Cc the ocaml port maintainer.
comment:7 Changed 12 years ago by someuser12
1) Since the issue is triggered by the update of ocaml from 3.x to 4.0, could we imagine a quick-and-dirty fix: increase the revision of unison to force a rebuild? (I rebuilt unison both on client and server side with ocaml 4.0 and, as others said, it solves the issue --- under Mac OS 10.6 and 10.5).
This was suggested on the macports-users mailing list for the case of maxima and sbcl (everytime sbcl is updated, maxima gets broken): http://lists.macosforge.org/pipermail/macports-users/2011-November/026226.html (but, as far as I know, never put into practice for maxima, alas).
Of course, there is also currently an issue with MacPorts' version of unison not being the latest stable version but an unstable version (#35116). If issue #35639 is solved, it will probably force a rebuild of unison.
2) As a side remark, if anyone wants to build unison 2.40.63 with variant x11 with ocaml 4.0: one has to rebuild first lablgtk2 with ocaml 4.0, then modify unison's Makefile.OCaml so that it looks for the labkgtk2 libraries not in OCAMLLIBDIR but in OCAMLLIBDIR/site-lib . I attach to this comment the simplest patch that works, but probably not the most robust one.
Changed 12 years ago by someuser12
Attachment: | patch-Makefile.OCaml.diff added |
---|
Quick and dirty patch to compile unison-2.40.63 with ocaml 4.0
comment:10 Changed 12 years ago by ecronin (Eric Cronin)
r100034 should have fixed this properly, they modified the hashing to produce the same result with ocaml4 that ocaml3 does.
The unison port has no maintainer, and since you're describing problems with using unison, and not with installing it, you'll be better off contacting the developers of unison directly.