From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from resqmta-ch2-04v.sys.comcast.net (resqmta-ch2-04v.sys.comcast.net [IPv6:2001:558:fe21:29:69:252:207:36]) by sourceware.org (Postfix) with ESMTPS id C1D2B3851C17 for ; Mon, 31 Aug 2020 20:48:03 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org C1D2B3851C17 Received: from resomta-ch2-10v.sys.comcast.net ([69.252.207.106]) by resqmta-ch2-04v.sys.comcast.net with ESMTP id CpkPkNCrjhvKyCqigkWotA; Mon, 31 Aug 2020 20:48:02 +0000 Received: from helium.5200-glenwood.net ([173.79.186.143]) by resomta-ch2-10v.sys.comcast.net with ESMTPA id CqiYkmlGScUqeCqiZkUxN9; Mon, 31 Aug 2020 20:48:00 +0000 X-Xfinity-VAAS: gggruggvucftvghtrhhoucdtuddrgeduiedrudefhedgudehgecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucevohhmtggrshhtqdftvghsihdpqfgfvfdppffquffrtefokffrnecuuegrihhlohhuthemuceftddtnecufghrlhcuvffnffculddqhedmnecujfgurhephffvufffkffogggtgfesthhqsfdtufdtvdenucfhrhhomheptehnughrvgifucfutghhuhhlmhgrnhcuoehstghhuhhlmhgrnhdrrghnughrvgifsegvphgrrdhgohhvqeenucggtffrrghtthgvrhhnpeehtdffleehhfehteeltdduheffkeekleejkedtfeekieekieejudfgjedukeevgfenucffohhmrghinhepuhhpvghnnhdrvgguuhenucfkphepudejfedrjeelrddukeeirddugeefnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehhvghlohephhgvlhhiuhhmrdehvddttddqghhlvghnfihoohgurdhnvghtpdhinhgvthepudejfedrjeelrddukeeirddugeefpdhmrghilhhfrhhomhepshgthhhulhhmrghnrdgrnhgurhgvfiesvghprgdrghhovhdprhgtphhtthhopegthihgfihinhdqrghnnhhouhhntggvsegthihgfihinhdrtghomh X-Xfinity-VMeta: sc=-5.00;st=legit Received: from localhost ([127.0.0.1] helo=LZ77E1AASCHULMA.aa.ad.epa.gov) by helium.5200-glenwood.net with smtp (Exim 4.93) (envelope-from ) id 1kCqiY-000boE-6D for cygwin-announce@cygwin.com; Mon, 31 Aug 2020 16:47:54 -0400 From: Andrew Schulman To: cygwin-announce@cygwin.com Subject: unison2.48-2.48.4-2 (Warning: possible breakage) Date: Mon, 31 Aug 2020 16:47:53 -0400 Message-ID: X-Mailer: Forte Agent 4.2/32.1118 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=2.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, KAM_DMARC_REJECT, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP autolearn=no autolearn_force=no version=3.4.2 X-Spam-Level: ** X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-Mailman-Approved-At: Mon, 31 Aug 2020 20:59:08 +0000 X-BeenThere: cygwin-announce@cygwin.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Read-only mailing list announcing new and updated Cygwin packages List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Aug 2020 20:48:05 -0000 The unison2.48 package has been updated in Cygwin. This new release, version 2.48.4-2, has been rebuilt with OCaml 4.08.1, which makes it compatible for syncing with Ubuntu Focal and the current Debian testing. *Warning*: This update may be a breaking change, if you use unison2.48 to synchronize with hosts that run other Linux distros. This is because two Unison executables have to be built with the same version of OCaml in = order to be compatible. For discussion of this newly-discovered problem and how we plan to deal with it in Cygwin, see OCaml Versions, below. =3D=3D Unison Versions in Cygwin Unison is packaged for Cygwin as several independent packages, each providing a version of Unison that is incompatible with the others. You have to run compatible versions of Unison on the client and server, or Unison will issue an error message and quit. Two versions of Unison are compatible only if the first two numbers in their version strings are the same. For example, all versions 2.48.* are compatible with each other, = and incompatible with versions 2.51.*. By installing one or more of the packages listed above, you can run whichever version you need in order to synchronize with your server. The unison* packages install a convenience symlink from /usr/bin/unison = to one of the versioned unison executables, e.g. unison-2.48.exe. alternatives(8) is used to manage the symlink. If the symlink is being managed in "auto" mode, then it will automatically track the highest numbered version of unison that you have installed. You can override this by either changing the symlink manually with ln(1), or, preferably, by using alternatives(8): alternatives --display unison shows you the installed versions of = unison, their priorities, which executable the symlink points to, and whether the symlink is being managed in "auto" or "manual" mode. alternatives --config unison presents a menu from which you can choose which version you want to use as the default. This puts the symlink in manual mode. alternatives --auto unison puts the symlink in automatic mode, where it will always point to the highest numbered version of unison that's installed on your host. alternatives --set unison /usr/bin/unison-$V.exe forces the symlink to point to unison-$V.exe, and puts it in manual mode. Please see alternatives(8) for more details. =3D=3D OCaml Versions There is unfortunately another layer of incompatibility in Unison: Two Unison executables are only compatible if they were built with the same version of OCaml. If you use, say, Unison 2.48 on two different hosts, = but one was built with OCaml 4.08.1 and the other with OCaml 4.10.0, you'll = get the dreaded error message Fatal error: Fatal error during unmarshaling (input_value: ill-formed message), possibly because client and server have been compiled with=20 different versions of the OCaml compiler. This is a bad feature, of OCaml apparently. It means that in order to be sure of being able to sync with another host, we could potentially need a separate Unison package for every combination of Unison and OCaml. =46or now, Unison packages for Cygwin are being built with the OCaml = version that seems to make them most generally compatible with other Linux = distros: Package OCaml version Compatibility ---------- ------------- ------------- unison2.27 ? ? unison2.32 ? ? unison2.40 ? ? unison2.45 ? ? unison2.48 4.08.1 Debian bullseye (testing), Ubuntu Focal unison2.49 ? ? unison2.51 ? ? Packages with "?" are older builds, where the OCaml version isn't = currently known. If your distro uses a different combination of Unison and OCaml versions that you need in order to sync, please let me know here. If it's widely used, I might update one of the existing builds, or make a new Cygwin package for it. =46uture versions of Unison may get around the OCaml version = incompatibility. =46or more discussion of the problem, see http://lists.seas.upenn.edu/pipermail/unison-hackers/2020-August/001972.h= tml. Andrew E. Schulman