GNU bug report logs - #32919
Golang build cache and content-based staleness in Guix

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: guix; Reported by: Leo Famulari <leo@HIDDEN>; dated Wed, 3 Oct 2018 14:54:02 UTC; Maintainer for guix is bug-guix@HIDDEN.

Message received at 32919 <at> debbugs.gnu.org:


Received: (at 32919) by debbugs.gnu.org; 3 Oct 2018 16:56:39 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Oct 03 12:56:39 2018
Received: from localhost ([127.0.0.1]:35842 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1g7kRz-00055m-FN
	for submit <at> debbugs.gnu.org; Wed, 03 Oct 2018 12:56:39 -0400
Received: from mail-it1-f178.google.com ([209.85.166.178]:55457)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <boskovits@HIDDEN>) id 1g7kRw-00055W-PP
 for 32919 <at> debbugs.gnu.org; Wed, 03 Oct 2018 12:56:38 -0400
Received: by mail-it1-f178.google.com with SMTP id c23-v6so9260725itd.5
 for <32919 <at> debbugs.gnu.org>; Wed, 03 Oct 2018 09:56:36 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=mime-version:references:in-reply-to:from:date:message-id:subject:to
 :cc; bh=KaqNOJOVOOIaVnGLYgkW5C6wFqLBBucsJAEHb2/VN3M=;
 b=k+qiBWR7VrofW5SwSRnOBvDdGV7ADSMmxKZTOvXBOAnrEwgnwE2j7bfUcQR+ZDehdY
 5OkqWJdXZBM6+x4s0xoHs8voUdBcURbiuhMamyOUEQ++fGCTcKajq0bzgky89/EIIuq1
 RjCJVee8NaWbpIHgR2a5xrHMQfIwcQI2mpT9/u3xUPQxhgmxdmKwACrRHK0oHotgXvoT
 GycFnh5yO3f9m9olf9Jmlig+29DoLPLm9PMODL6F0UrDucoTdCQroP13H0r8FlZWsEdL
 ap52S7hPcPNUcHR8ItiMHD1ZJbjkfw8PfPE9xLti9c3u7lBX02s4tpFX/vDdgIRCBwqP
 C+YQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:references:in-reply-to:from:date
 :message-id:subject:to:cc;
 bh=KaqNOJOVOOIaVnGLYgkW5C6wFqLBBucsJAEHb2/VN3M=;
 b=CxWyPi+nq/+a8DByELYmdVlLSh+mwnNghIeKDdBquaOZDjLqNbzdOqS18EP+0wQzw8
 4+MfyjOpFY5zwzN/S53eXcErdTsuNVLlDppUQhmk94FsMxe32t4KLciaOyid2neYVHx9
 urY+Sp1bHBr3xp6zRcBm+BrxCLXfZGJiYyTpME/qMbygfxKFeteDgL7RwZ6e/qOVxCVj
 rC9NfEjt39LgNzr5bg45xKICyDQXWWFn/R0Tvo3kB29XqVa6O/KgwPU7tec9isG59bly
 SV9Fi1qsrmE0OAp2CN30q2FOS1j88Gcc+xBtahuN1/JVUVyS9D/kBeIwxdQBpg9UCSSi
 /fXw==
X-Gm-Message-State: ABuFfojrR9ou9Tl8rU+h6/WbG2WM3cFzso8utaNHWsDDncvcaGEMIEdp
 Hx+FLaT93oCaFUz7PXsivtXkVVDhp2hhKorw0Q==
X-Google-Smtp-Source: ACcGV62lSjOr4Z7TqGKkmb5YmVw0tlHg6YH5WaCV9hUcQKWIThFt0cx/CbfYUWKYrkpubNCoPr1icE0nyPQzo1tIwI8=
X-Received: by 2002:a02:9867:: with SMTP id
 x36-v6mr1894206jaj.117.1538585790949; 
 Wed, 03 Oct 2018 09:56:30 -0700 (PDT)
MIME-Version: 1.0
References: <87va6km333.fsf@HIDDEN> <20181003145335.GB24877@HIDDEN>
In-Reply-To: <20181003145335.GB24877@HIDDEN>
From: =?UTF-8?Q?G=C3=A1bor_Boskovits?= <boskovits@HIDDEN>
Date: Wed, 3 Oct 2018 18:56:19 +0200
Message-ID: <CAE4v=ph+aDO50zc+37TkksiT=sq-R5=DdiHABtyN1qat=+H_ow@HIDDEN>
Subject: Re: bug#32919: Golang build cache and content-based staleness in Guix
To: Leo Famulari <leo@HIDDEN>
Content-Type: multipart/alternative; boundary="00000000000086c52e057755eb39"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 32919
Cc: Katherine Cox-Buday <cox.katherine.e@HIDDEN>, 32919 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--00000000000086c52e057755eb39
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Leo Famulari <leo@HIDDEN> ezt =C3=ADrta (id=C5=91pont: 2018. okt. 3.=
, Sze,
16:54):

> On Tue, Oct 02, 2018 at 04:49:20PM -0500, Katherine Cox-Buday wrote:
> > We should perhaps begin thinking about switching the Go build system to
> > the 1.11 series of releases.
>
> I agree. When Go 1.11 was released, Go 1.9 became unsupported upstream,
> so we should stop using it.
>
> The go-build-system as implemented in Guix worked great through Go 1.9.
>
> Go 1.10 changed how the Go compiler chooses whether or not to re-use
> compiled Go objects, using a technique they call "content-based
> staleness", which is basically a memoized cache, similar to Guix. [0]
>
> For us, the downside of that change is that, when building within Guix
> using the tools we have now, the Go compiler never re-uses compiled
> objects and instead rebuilds everything, every time. That is, the Go
> build cache is never hit. It's inefficient but nothing breaks from what
> I've seen.
>
> It would be great if our go-build-system could be updated to work with
> the new Go build cache, but in my opinion it's not a blocker. I think we
> will have to change it eventually, because they seem to be phasing out
> $GOPATH, but we are good for now.
>
> What do you think?
>
>
I think we should go for it. I don't think the cache issue is a blocker.


> [0]
> https://bugs.gnu.org/30579
> https://golang.org/doc/go1.10#build
>

--00000000000086c52e057755eb39
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div class=3D"gmail_quote"><div dir=3D"ltr">Leo Famulari &=
lt;<a href=3D"mailto:leo@HIDDEN">leo@HIDDEN</a>&gt; ezt =C3=
=ADrta (id=C5=91pont: 2018. okt. 3., Sze, 16:54):<br></div><blockquote clas=
s=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;pad=
ding-left:1ex">On Tue, Oct 02, 2018 at 04:49:20PM -0500, Katherine Cox-Buda=
y wrote:<br>
&gt; We should perhaps begin thinking about switching the Go build system t=
o<br>
&gt; the 1.11 series of releases.<br>
<br>
I agree. When Go 1.11 was released, Go 1.9 became unsupported upstream,<br>
so we should stop using it.<br>
<br>
The go-build-system as implemented in Guix worked great through Go 1.9.<br>
<br>
Go 1.10 changed how the Go compiler chooses whether or not to re-use<br>
compiled Go objects, using a technique they call &quot;content-based<br>
staleness&quot;, which is basically a memoized cache, similar to Guix. [0]<=
br>
<br>
For us, the downside of that change is that, when building within Guix<br>
using the tools we have now, the Go compiler never re-uses compiled<br>
objects and instead rebuilds everything, every time. That is, the Go<br>
build cache is never hit. It&#39;s inefficient but nothing breaks from what=
<br>
I&#39;ve seen.<br>
<br>
It would be great if our go-build-system could be updated to work with<br>
the new Go build cache, but in my opinion it&#39;s not a blocker. I think w=
e<br>
will have to change it eventually, because they seem to be phasing out<br>
$GOPATH, but we are good for now.<br>
<br>
What do you think?<br>
<br></blockquote><div><br></div><div>I think we should go for it. I don&#39=
;t think the cache issue is a blocker.</div><div>=C2=A0</div><blockquote cl=
ass=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;p=
adding-left:1ex">
[0]<br>
<a href=3D"https://bugs.gnu.org/30579" rel=3D"noreferrer" target=3D"_blank"=
>https://bugs.gnu.org/30579</a><br>
<a href=3D"https://golang.org/doc/go1.10#build" rel=3D"noreferrer" target=
=3D"_blank">https://golang.org/doc/go1.10#build</a><br>
</blockquote></div></div>

--00000000000086c52e057755eb39--




Information forwarded to bug-guix@HIDDEN:
bug#32919; Package guix. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 3 Oct 2018 14:53:52 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Oct 03 10:53:52 2018
Received: from localhost ([127.0.0.1]:35749 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1g7iXA-00029d-58
	for submit <at> debbugs.gnu.org; Wed, 03 Oct 2018 10:53:52 -0400
Received: from eggs.gnu.org ([208.118.235.92]:34279)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <leo@HIDDEN>) id 1g7iX7-00029O-VL
 for submit <at> debbugs.gnu.org; Wed, 03 Oct 2018 10:53:50 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <leo@HIDDEN>) id 1g7iX1-000480-Ma
 for submit <at> debbugs.gnu.org; Wed, 03 Oct 2018 10:53:44 -0400
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=disabled
 version=3.3.2
Received: from lists.gnu.org ([2001:4830:134:3::11]:45948)
 by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32)
 (Exim 4.71) (envelope-from <leo@HIDDEN>) id 1g7iX1-00047s-Im
 for submit <at> debbugs.gnu.org; Wed, 03 Oct 2018 10:53:43 -0400
Received: from eggs.gnu.org ([2001:4830:134:3::10]:43887)
 by lists.gnu.org with esmtp (Exim 4.71)
 (envelope-from <leo@HIDDEN>) id 1g7iX0-00069w-Lu
 for bug-guix@HIDDEN; Wed, 03 Oct 2018 10:53:43 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <leo@HIDDEN>) id 1g7iWx-00046l-Fa
 for bug-guix@HIDDEN; Wed, 03 Oct 2018 10:53:42 -0400
Received: from out3-smtp.messagingengine.com ([66.111.4.27]:49547)
 by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32)
 (Exim 4.71) (envelope-from <leo@HIDDEN>) id 1g7iWx-000460-7m
 for bug-guix@HIDDEN; Wed, 03 Oct 2018 10:53:39 -0400
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailout.nyi.internal (Postfix) with ESMTP id 1A9A421F6A;
 Wed,  3 Oct 2018 10:53:36 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute4.internal (MEProxy); Wed, 03 Oct 2018 10:53:36 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=famulari.name;
 h=date:from:to:cc:subject:message-id:references:mime-version
 :content-type:in-reply-to; s=mesmtp; bh=xmxaUeykt0SIlj6KFuVTIP0y
 iPd9APUUn1e6vb6SZmk=; b=cV66RZe6JvXE/p4tW4AKEtcajybYE1tZpIfekBwD
 Wf7jfpPkTikL/4kKNcQuwSagovVNfIFulxxDwEWNXi5IBsac/wDTiAJiVzAGCWY0
 O8G/rNXqx9BA2X6rfL6KT85g84NQxrgQjXrM8pUtUpVAKf1mXAlVxzIJvZ+GjCiF
 qYg=
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:content-type:date:from:in-reply-to
 :message-id:mime-version:references:subject:to:x-me-proxy
 :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=xmxaUe
 ykt0SIlj6KFuVTIP0yiPd9APUUn1e6vb6SZmk=; b=p7ZTdko04M8SmtXhOdBKJa
 9tfI+PPqgItDlFuu9USnNGrQlwAQwy/Qxrenuh2SruZRr/uJo6w9zLvHROEhO5rQ
 xqgsHXySG17nEFCqN4FFM9Epiy1a6hBY2cNGDPkfc/DcXV282AUc+P9o+DBrLTtW
 s8WnEQaSdbOh8XnNCZSrSkWCqnntznTUpkdqc7tCRn4h+FxYTo+eW7HrvSVEZc9e
 /N87eOTFKZnpEzNjVpxD7dNZmHn9U3Il8njRPCgIzzz+PYZXRNQdpWc66FXmoZF4
 9fuZhWCrB9qgClN5mDI3BViHP8S9/fZPJV9K1bF5zfDsB/Jdy3/7dsYuru7KJRFA
 ==
X-ME-Sender: <xms:79e0W5LvoxqeAV77FQQh5o7rUjiIrxaKFmL10Rpd4mQexlQDpmzOqA>
X-ME-Proxy: <xmx:79e0W1I9OauV8rXioiUy3vEPdfMiHkIP2XwVUoRdSL-L8CnujL4C-w>
 <xmx:79e0WwtftpdaLJQYc1aCS5a8PfULFxeDb3CaE_IG9MhJuCBoV1mZqg>
 <xmx:79e0W0KqrkkbrBcWwPKKrZD-iIA9QAVWqvVUmB1rmBWOeAIpZ7T11g>
 <xmx:79e0W1-Y-f4berW0RQ5pkmLCKry3Jagfz-fJRgHMHtPRIsjWzaJW0Q>
 <xmx:79e0Wz1YxL-f5FqbiRG3qqgAaX8yNiV0nB7sFWMYv2iO8pLr7B6mwA>
 <xmx:8Ne0W7uvp9wSdAXqSw3Uvt4VfqDXPeK5YQqZU0dTKW8PhbdWNdmbcg>
Received: from localhost (pool-71-183-39-69.nycmny.fios.verizon.net
 [71.183.39.69])
 by mail.messagingengine.com (Postfix) with ESMTPA id C2291E4A45;
 Wed,  3 Oct 2018 10:53:35 -0400 (EDT)
Date: Wed, 3 Oct 2018 10:53:35 -0400
From: Leo Famulari <leo@HIDDEN>
To: bug-guix@HIDDEN
Subject: Golang build cache and content-based staleness in Guix
Message-ID: <20181003145335.GB24877@HIDDEN>
References: <87va6km333.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature"; boundary="UHN/qo2QbUvPLonB"
Content-Disposition: inline
In-Reply-To: <87va6km333.fsf@HIDDEN>
User-Agent: Mutt/1.10.1 (2018-07-13)
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x
X-Received-From: 2001:4830:134:3::11
X-Spam-Score: -4.1 (----)
X-Debbugs-Envelope-To: submit
Cc: Katherine Cox-Buday <cox.katherine.e@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -5.1 (-----)


--UHN/qo2QbUvPLonB
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Tue, Oct 02, 2018 at 04:49:20PM -0500, Katherine Cox-Buday wrote:
> We should perhaps begin thinking about switching the Go build system to
> the 1.11 series of releases.

I agree. When Go 1.11 was released, Go 1.9 became unsupported upstream,
so we should stop using it.

The go-build-system as implemented in Guix worked great through Go 1.9.

Go 1.10 changed how the Go compiler chooses whether or not to re-use
compiled Go objects, using a technique they call "content-based
staleness", which is basically a memoized cache, similar to Guix. [0]

For us, the downside of that change is that, when building within Guix
using the tools we have now, the Go compiler never re-uses compiled
objects and instead rebuilds everything, every time. That is, the Go
build cache is never hit. It's inefficient but nothing breaks from what
I've seen.

It would be great if our go-build-system could be updated to work with
the new Go build cache, but in my opinion it's not a blocker. I think we
will have to change it eventually, because they seem to be phasing out
$GOPATH, but we are good for now.

What do you think?

[0]
https://bugs.gnu.org/30579
https://golang.org/doc/go1.10#build

--UHN/qo2QbUvPLonB
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEsFFZSPHn08G5gDigJkb6MLrKfwgFAlu01+8ACgkQJkb6MLrK
fwhB+xAAuns5YbQRk1tZILYXRLYnFcAv1kpEvu+BG59Kd6MQHw34GpYfykYHffKC
ZWkTKk3YgjuB4W+9WzRDpgWUMAYBJgZMQ7D8qTo+tb2F+FeXa55HYIbygJ3LMWbS
QE87wkWq/8NSnZlthmlxM8yrKhHNIdBDeeIRpp2y7hV3Ztv07IHWn2fEkZSg7T9n
ff3CcAZQK/sK83BR2uG70ImCaUqltZXJUErL2JrMrvkDsobr0iujw3pdBVXbRZIr
S+UK06XQ/BORpBAJ99IvitNRRs5fIMtU1U2xZkOk+iGCiUne0MAs4sEIZEyTW393
RuMM9o+n7u7iOQcop45sK6PxxDukuM/Xwg9iFoL8CELRbXg0kLtVhVUfUlGzoJWM
rDN0ezJdSqhwUOP6ufCV4U/ZWV8i531XwW3ZDCvQW63jIIfme07FADEaSCmkTAwJ
7ERN8Ae3hbNjfHSJRnzQPSCbeJlMyMT3JnheO2Tks6PcM0gd0jgUp8TvH632Nrcd
1auvGozMIYTGewqrPnYh1G8ljErPb05gqzvybFal3mc64fgVKGpuXc3e9jvUqfXp
WsXQfOeydMIXp4UED42gUQhRTEik9UfZFp76KqhC0iDA1jf0IwHT51xxPUdr/bXo
Kb9fJxZQrNVA87J6q6f9acsLs4Jzxs8+Tlc+01oXFvlmoKRTpok=
=xfUb
-----END PGP SIGNATURE-----

--UHN/qo2QbUvPLonB--




Acknowledgement sent to Leo Famulari <leo@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-guix@HIDDEN. Full text available.
Report forwarded to bug-guix@HIDDEN:
bug#32919; Package guix. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Mon, 25 Nov 2019 12:00:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.