← Back to team overview

ocaml-maint team mailing list archive

[Bug 1875475] Re: Unison from Ubuntu 20.04 is incompatible with Unison from Ubuntu 18.04, Windows or Mac OS X

 

The snap package isn't compatible with the version from macOS homebrew
either.

In the end, I just went with the binary tarballs available from
https://github.com/bcpierce00/unison/releases

The reason for these incompatibilities is described here:
https://github.com/bcpierce00/unison/#getting-unison

"Beware that Unison uses OCaml's built-in data marshalling, and that
this facility is unstable across versions of "ocaml" (the standard
implementation of the OCaml language). Additionally, Unison has
incompatible changes across minor releases (e.g. 2.48 vs 2.51, but
2.51.2 and 2.51.3 are compatible). Therefore, you must use the same
Unison minor version built with the same ocaml version on all systems."

To make compatible packages for 16.04/18.04/20.04 would require either a
newer OCaml to build the 16.04/18.04 packages, or an older OCaml to
build the 18.04/20.04 packages.

I do think that the incompatible versions should be reflected in the
package naming, e.g. "unison" is a meta-package and
"unison-2.51.3-4.12.0" is the actual package. Then potentially multiple
versions could be installed and /etc/alternatives/unison could point to
the chosen one.  But unless someone actually builds these different
versions, it doesn't really matter.

There are other more modern filesystem synchronization tools available,
like Syncthing.

-- 
You received this bug notification because you are a member of Debian
OCaml Maintainers, which is subscribed to unison in Ubuntu.
https://bugs.launchpad.net/bugs/1875475

Title:
  Unison from Ubuntu 20.04 is incompatible with Unison from Ubuntu
  18.04, Windows or Mac OS X

Status in unison package in Ubuntu:
  Confirmed

Bug description:
  Unison from Ubuntu 20.04 LTS (version unison=2.48.4-4ubuntu1) works
  well with a client in exactly the same version, with exactly the same
  OS.

  However, it does not work well with Unison 2.48.4-1ubuntu1 from Ubuntu
  18.04, or with Unison on other OSes.

  Once the client has determined the files that were updated, when I click on 'Go', the synchronisation fails with a message like this one: 
  > Fatal error: 
  > Uncaught exception Failure("input_value: ill-formed message")

  Sometimes there is the mention "possibly because client and server
  have been compiled with different versions of the Ocaml compiler."

  I have seen this issues in the following configurations
  - 2.48.4-4ubuntu1 on Ubuntu 20.04 LTS (client) and 2.48.4-1ubuntu1 on Ubuntu 18.04 LTS (server) => Fails
  - 2.48.? on Mac OS X (client) and 2.48.4-4ubuntu1 on Ubuntu 20.04 LTS (server) => Fails
  - 2.48.3 on Windows 7 (client) and 2.48.4-4ubuntu1 on Ubuntu 20.04 LTS (server) => Fails

  Note that the Mac OS and Windows clients were working well with unison
  2.48.4-1ubuntu1 (Ubuntu 18.04 LTS, server).

  Maybe my problem could be solved by reverting unison to the version
  2.48.4-1ubuntu1 from Ubuntu 18.04 LTS. Is is possible to do so with
  `apt install` on Ubuntu 20.04? Thanks!

  ProblemType: Bug
  DistroRelease: Ubuntu 20.04
  Package: unison 2.48.4-4ubuntu1
  ProcVersionSignature: Ubuntu 5.4.0-26.30-generic 5.4.30
  Uname: Linux 5.4.0-26-generic x86_64
  ApportVersion: 2.20.11-0ubuntu27
  Architecture: amd64
  CasperMD5CheckResult: skip
  CurrentDesktop: ubuntu:GNOME
  Date: Mon Apr 27 19:18:59 2020
  InstallationDate: Installed on 2020-04-16 (11 days ago)
  InstallationMedia: Ubuntu 18.04.2 LTS "Bionic Beaver" - Release amd64 (20190210)
  SourcePackage: unison
  UpgradeStatus: Upgraded to focal on 2020-04-21 (6 days ago)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/unison/+bug/1875475/+subscriptions


References