X-Recipient: archive-cygwin@delorie.com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org BD7D2386F01D
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
	s=default; t=1598956189;
	bh=zFzHiUP6cF1sO66Iz3i0d5n2WE2dNLylvqiIDX0Iqfg=;
	h=To:Subject:Date:References:In-Reply-To:List-Id:List-Unsubscribe:
	 List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:
	 From;
	b=KGyGMVb3+K5/ynF5k0JV7i+KjOEXrq99qgXbNgJcP1ZUpnGsP0rtvjLbtAO2ImIat
	 F54SWKUxTDFqNc0XsxoHKo5k1A7awxyhd7kzdMHWK5SohdLK6CwIIQ3x6gq3Xp2l0F
	 XqrFAdoQbo3/IqBqFlO7F08YcO8qZSQ8IJml81pk=
X-Original-To: cygwin@cygwin.com
Delivered-To: cygwin@cygwin.com
DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 4102A3851C35
To: "cygwin@cygwin.com" <cygwin@cygwin.com>
Subject: RE: [ANNOUNCEMENT] unison2.48-2.48.4-2 (Warning: possible breakage)
Thread-Topic: [ANNOUNCEMENT] unison2.48-2.48.4-2 (Warning: possible breakage)
Thread-Index: AQHWf9mrcws+AcsuR0Oazo01y/ixzKlSthIAgAA693GAAJ+WYA==
Date: Tue, 1 Sep 2020 10:29:44 +0000
Message-ID: <6ab4bc7a6011486c9f8ba5ae42000bda@metastack.com>
References: <announce.jaoqkf92i62p28j6mna6efgf5cg2srj8bi@4ax.com>
 <0e456fd0-0beb-6f04-40d7-836ed8b64612@cornell.edu>
 <ed5rkft7ag48b1hfocqi3ts0sbtj2o6s9q@4ax.com>
In-Reply-To: <ed5rkft7ag48b1hfocqi3ts0sbtj2o6s9q@4ax.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [172.16.0.125]
MIME-Version: 1.0
X-Scanned-By: MIMEDefang 2.65 on 62.31.77.26
X-Server-Quench: 0d3d36a5-ec3e-11ea-80b4-84349711df28
X-AuthReport-Spam: If SPAM / abuse - report it at:
 http://www.authsmtp.com/abuse
X-AuthRoute: OCd1ZAARAlZ5RRob BmUtCCtbTh09DhZI RxQKKE1TKxwUVhJa
 I0lFL1x7O0wTWlBf HTVUBhpUUUISDCNq aQpTbRVcY0BMVg9u VAZPQExRFRtvBgID
 AAEcVwZzOQVOeQ8U PSY5XnBSVU1yO0J8 QkYaFTkFMWRmOWUC BRNbIh5VcVYbYxdF
 OFRiXHcOZWwAZ3s0 EVVjKQocb31sAQJz ZTwrBn83bGA3K3Yh QREZGjN1WxFVAn91
 c0xgdhtGVAYuO180 MF0uCxoANAQJCwda EglHGiJQJFAOSmtD 
X-Authentic-SMTP: 61633634383431.1021:7416
X-AuthFastPath: 0 (Was 255)
X-AuthSMTP-Origin: 62.31.77.26/25
X-AuthVirus-Status: No virus detected - but ensure you scan with your own
 anti-virus system.
X-Spam-Status: No, score=-3.4 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS,
 RCVD_IN_DNSWL_LOW, SPF_HELO_NONE, SPF_NEUTRAL,
 TXREP autolearn=ham autolearn_force=no version=3.4.2
X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on
 server2.sourceware.org
X-BeenThere: cygwin@cygwin.com
X-Mailman-Version: 2.1.29
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-request@cygwin.com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
 <mailto:cygwin-request@cygwin.com?subject=subscribe>
From: David Allsopp via Cygwin <cygwin@cygwin.com>
Reply-To: David Allsopp <David.Allsopp@cl.cam.ac.uk>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: "Cygwin" <cygwin-bounces@cygwin.com>

Andrew Schulman wrote:
> > > 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.
> >
> > What a mess!
> 
> Glad you understand :)
> 
> > Would you consider embedding the OCaml version in the package name as
> > suggested by the Debian maintainer
> > (http://lists.seas.upenn.edu/pipermail/unison-hackers/2020-
> August/001975.html)?
> > Thus unison2.48-2.48.4-1 would be replaced by something like
> > unison2.48+4.04.1... and unison2.48-2.48.4-2 would be replace by
> > something like unison2.48+4.08.1....  That way people who are happy
> > with unison2.48-2.48.4-1 can keep using it without being pestered by
> setup to update.
> 
> Yes, I could do that. I was hoping to avoid it, but it may be the only
> realistic solution.
> 
> It may be mainly Unison 2.48 that's affected, and maybe also 2.51 and the
> forthcoming 2.52. I guess that very few people are still using the older
> versions, and if they are they don't want any changes now.
> 
> > FWIW, here's my situation, which is probably not typical.  When you
> > released
> > unison2.48-2.48.4-1 a few years ago, it was incompatible with the
> > Linux server that I sync with.  So I simply built OCaml and unison
> > myself on that server, using the same versions that you used, and
> > installed unison in my own ~/bin directory.
> >
> > I could do that again, now using OCaml 4.08.1.  But I'd much rather
> > just keep my current arrangement, without having setup try to update
> > unison2.48 every time I run it.

Just for reference, the format of OCaml marshalled values changed in OCaml 4.08 (https://github.com/ocaml/ocaml/pull/1683). It's changed again in OCaml 4.11 as well (https://github.com/ocaml/ocaml/pull/8791) but in that case the new things which OCaml 4.11 can marshal would have caused errors in earlier versions, so I don't think that will affect Unison.

Quoting https://caml.inria.fr/pub/docs/manual-ocaml/libref/Marshal.html (emphasis mine): "The format for the byte sequences is compatible across all machines **for a given version of OCaml**" so it's an interesting design choice of Unison's.

That said, we (OCaml devs) change the marshal format as infrequently as possible, and go to considerable lengths to ensure that the older format can be read by newer runtimes: IIRC that particular change was the first break since OCaml 4.01 (Sep 2013).


David
--
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
