delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2020/08/31/17:00:07

X-Recipient: archive-cygwin AT delorie DOT com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 646563846405
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
s=default; t=1598907552;
bh=bcfDIaQjBBbmotgnlN+IVPPOmUgWmsfEtAXogjsLd1A=;
h=To:Subject:Date:From:List-Id:List-Unsubscribe:List-Archive:
List-Post:List-Help:List-Subscribe:Reply-To:From;
b=SzghWq4xDGZcP4/39zCkKAaWf3+2VN1mTVrmWJ0ojYPu3ugn/AjmlSDxanP8f8ivl
ub+5qVE1S+GW36dSb7cqqPxZn8JcIgjzVDWBCGBRBcIMlCHpTrX6ggwJ8rosy23q78
1GjrmNGfROhj/aYBsg4Kvan5EypJJ01tAcK2EDVU=
X-Original-To: cygwin AT cygwin DOT com
Delivered-To: cygwin AT cygwin DOT com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 27E10384C002
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
s=default; t=1598907551;
bh=p/j2/if7yRrbw+ADJpWvaTax8ajLgMGI09ySDN64ZCI=;
h=To:Subject:Date:From:Reply-To:From;
b=IXNUw3/XrHu8r3tgUt5T9tnzibPiQP647RimDcuSWH5VcSWiuifKqK0ereWJQzdBC
xpAXFTwQ31WjKXRI/vsjOmhdD/2e5Blnu8Y2Q6bfzw2GdFm7YaYLpTF75DK1TuKEI7
oThDfUl35sHdyyhvr8F355goGDE8MJcWElgU32eQ=
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org AE26838618C3
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
s=default; t=1598907550;
bh=WonBPQUXcLY5vaMdTvbrJeWMmWPE/TvFVsnHybOBlTM=;
h=To:Subject:Date:List-Id:List-Unsubscribe:List-Archive:List-Help:
List-Subscribe:From:Reply-To:From;
b=GmyaUBQJQkPybK1Iy0GEaWtMlvE5eFXE6qohle25UNsVaJbbx99ULretKCMpW1bD9
xqjNtn+36sAUGeXOfiwD5csc9IRMawjauTTfdBrpSirueAI7ogz+e2au7stPN6RHr4
bFJ6nv56BkbVKZFXnEbT0Kau2V+ZK5KYsp794hvk=
DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org C1D2B3851C17
X-Xfinity-VAAS: gggruggvucftvghtrhhoucdtuddrgeduiedrudefhedgudehgecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucevohhmtggrshhtqdftvghsihdpqfgfvfdppffquffrtefokffrnecuuegrihhlohhuthemuceftddtnecufghrlhcuvffnffculddqhedmnecujfgurhephffvufffkffogggtgfesthhqsfdtufdtvdenucfhrhhomheptehnughrvgifucfutghhuhhlmhgrnhcuoehstghhuhhlmhgrnhdrrghnughrvgifsegvphgrrdhgohhvqeenucggtffrrghtthgvrhhnpeehtdffleehhfehteeltdduheffkeekleejkedtfeekieekieejudfgjedukeevgfenucffohhmrghinhepuhhpvghnnhdrvgguuhenucfkphepudejfedrjeelrddukeeirddugeefnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehhvghlohephhgvlhhiuhhmrdehvddttddqghhlvghnfihoohgurdhnvghtpdhinhgvthepudejfedrjeelrddukeeirddugeefpdhmrghilhhfrhhomhepshgthhhulhhmrghnrdgrnhgurhgvfiesvghprgdrghhovhdprhgtphhtthhopegthihgfihinhdqrghnnhhouhhntggvsegthihgfihinhdrtghomh
X-Xfinity-VMeta: sc=-5.00;st=legit
To: cygwin AT cygwin DOT com
Subject: [ANNOUNCEMENT] unison2.48-2.48.4-2 (Warning: possible breakage)
Date: Mon, 31 Aug 2020 16:47:53 -0400
Message-Id: <announce.jaoqkf92i62p28j6mna6efgf5cg2srj8bi@4ax.com>
X-Mailer: Forte Agent 4.2/32.1118
MIME-Version: 1.0
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 AT cygwin DOT com
X-Mailman-Version: 2.1.29
From: Andrew Schulman via Cygwin-announce <cygwin-announce AT cygwin DOT com>
X-BeenThere: cygwin AT cygwin DOT com
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-request AT cygwin DOT com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=subscribe>
Reply-To: cygwin AT cygwin DOT com
Sender: "Cygwin" <cygwin-bounces AT cygwin DOT com>

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.

== 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.

== 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 
  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.

For 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.

Future versions of Unison may get around the OCaml version incompatibility.
For more discussion of the problem, see
http://lists.seas.upenn.edu/pipermail/unison-hackers/2020-August/001972.html.

Andrew E. Schulman
--
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019