From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id wH4NMZmL62IfVAAAbAwnHQ (envelope-from ) for ; Thu, 04 Aug 2022 11:04:25 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id iDX4MJmL62ImwgAA9RJhRA (envelope-from ) for ; Thu, 04 Aug 2022 11:04:25 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 83A413D754 for ; Thu, 4 Aug 2022 11:04:25 +0200 (CEST) Received: from localhost ([::1]:59464 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oJWWu-0007Q5-VW for larch@yhetil.org; Thu, 04 Aug 2022 04:48:33 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:54536) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oJWSc-0005YP-KT for guix-devel@gnu.org; Thu, 04 Aug 2022 04:44:08 -0400 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:42829) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oJWSa-0006z5-3k for guix-devel@gnu.org; Thu, 04 Aug 2022 04:44:06 -0400 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 64A965C0194; Thu, 4 Aug 2022 04:44:01 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute1.internal (MEProxy); Thu, 04 Aug 2022 04:44:01 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fastmail.net; h= cc:content-transfer-encoding:content-type:date:date:from:from :in-reply-to:message-id:mime-version:reply-to:sender:subject :subject:to:to; s=fm3; t=1659602641; x=1659689041; bh=yiC4B8oEWS RSgnm83MlVpMSCJncGpjnedrFcp/C7jaQ=; b=nLNLjSnQnVbt4GPM52jKFPJV26 9861+Xou/x8WsoHIUnLMGvZyGHYN4cKZMz+Q/e1xQ4J7DqfnupIhzXgwe0CoP/6E 3pukgtuHji08HMKKG586314mLAvFWxCAozNCrRTgBYkSs3DDd8ajR4ES8eLzx+eO hqlMxBH6TysGctFL0EY2//r4ch7MbdpeEbACGMVfNG2P+TuX6Jw+arI2ISWKjv5b Tj5f5gdGa8U1eHcorWOje3NkpisykG2Ykgx9TGaq3A4uWldnU4ddljNmwMC+BJvi hV7A4ggyKs2a+zXsuRnjztdu8POdF82Ssl19N+8YvZt8ebvhsrnuzQRzOUfA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:date:feedback-id:feedback-id:from:from:in-reply-to :message-id:mime-version:reply-to:sender:subject:subject:to:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm3; t=1659602641; x=1659689041; bh=yiC4B8oEWSRSgnm83MlVpMSCJncG pjnedrFcp/C7jaQ=; b=WD+xzz+Vp6oUprBGKoEvDSZN3XBctXrQZKJDE+u4vBYA 1pVNg6bIzpbbB6MKpMsDy6LuOPnZB6ZyOPTUyDA7bhAQl/ptGBUgftDdm6grLuiU BDQOHGV15txYPnsQHm+OMnidv7DHIy04KgGkU62OY02UwnE6IlKLc4Kk8JKDsJrl kxNKzpI/A10sF/dIWxPLYyP3/RigDrmEVpn953VzFnsCCGiH4c3LmXGTPLgpS82s NI8XvNp7nMfq08VM+7sPxev71+XYRXTap/3N86s8IpxCvl1Xr7UauhtvOKaIH4jS sA3K2y6w4VuZxlldxqUypnhGqRfHn3eOhX0+S5FOOQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvddvledgtdeiucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvufffkfggtgfgsehtqhertddttdejnecuhfhrohhmpefmohhnrhgrugcu jfhinhhsvghnuceokhhonhhrrggurdhhihhnshgvnhesfhgrshhtmhgrihhlrdhnvghtqe enucggtffrrghtthgvrhhnpedvkeeihedufeduieeugeegkedvvddtkeefieevtefhleej geefhfegieetieeggfenucffohhmrghinhepghhnuhdrohhrghenucevlhhushhtvghruf hiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehkohhnrhgrugdrhhhinhhsvghn sehfrghsthhmrghilhdrnhgvth X-ME-Proxy: Feedback-ID: i184641e2:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 4 Aug 2022 04:44:00 -0400 (EDT) From: Konrad Hinsen To: Guix Devel Subject: A real-life test of long-term reproducibility Date: Thu, 04 Aug 2022 10:43:57 +0200 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=66.111.4.25; envelope-from=konrad.hinsen@fastmail.net; helo=out1-smtp.messagingengine.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Migadu-Flow: FLOW_IN X-Migadu-To: larch@yhetil.org X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1659603865; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=yiC4B8oEWSRSgnm83MlVpMSCJncGpjnedrFcp/C7jaQ=; b=InP6c8KZnRzA3qq0/fgsf/NnQzQEkZsyaGXUge+cwFRN7Hz3pz2xafmPOnuOUDx+IeE+UO ivazsHVv+BAXGIWrVsDDXA20Qc7xvghFKtbP83XDxI7v4u2O/SF/Lo72rz0UVj5iZ00l8W pJSAOy9kzWV2PaADtJgOehgt1O4HvEC3bnFZTg6H0hIt94MgJswtEh9kAMQYO1QXwsBXLS sXlaKa79NkiK41nAP2EHmU8Equdsji8tlI3XPBfdAppx2mYoRzSOZxmbRrmU6kFclXUzja P6xpqoIA5jXLOmgu/CwM/+MQzSl93pznt6HL5vMKWWg38qkMbhrC4CZyL71tiw== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1659603865; a=rsa-sha256; cv=none; b=t9pcoPyv9t0uGBZcVC7IZBtn2jW0NmeVuBQZ0eAbeyailAXLVLhKJK9VPlowL6IAt9xO8c e8RfDLtfgowjCSP3cfpKnIvzmr9FiETCj6X4znJEwKWBFrNY8vPoyjIBIxvOMTotf//tb8 hdlHXhvp9FjBjj6CUfWe+soYxb8ultp4F0COMBAR6O+1ng61jv6Dl8Y66WXAZ194hAWjyP YpwiZrlj8KAsA9kmaCc2cm42z7ZtN2yScu3Go44lPAAP3gZkpYYDtAUJ652dK2umdOZl+5 bRjTOibU10iYWnjRV95zSe+jbhRIaiVQ2ftKKlf+VytfZhTAD+CxSmpgXj51Aw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=fastmail.net header.s=fm3 header.b=nLNLjSnQ; dkim=fail ("headers rsa verify failed") header.d=messagingengine.com header.s=fm3 header.b=WD+xzz+V; dmarc=fail reason="SPF not aligned (relaxed)" header.from=fastmail.net (policy=none); spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: 5.99 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=fastmail.net header.s=fm3 header.b=nLNLjSnQ; dkim=fail ("headers rsa verify failed") header.d=messagingengine.com header.s=fm3 header.b=WD+xzz+V; dmarc=fail reason="SPF not aligned (relaxed)" header.from=fastmail.net (policy=none); spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 83A413D754 X-Spam-Score: 5.99 X-Migadu-Scanner: scn0.migadu.com X-TUID: fZ0FhPfEbIEo Hi everyone, One of our claims is that Guix can rebuild code identically as long as we have a machine with a Linux kernel and a POSIX filesystem. This week I had an occasion to put this to a real-life test. So far it's a failure. I can guess reasons for my failed attempts, but I don't think they were unreasonable to try. So I'd like to document something that works, to avoid others falling into the same traps. I just don't know yet what the Right Way To Do It is! The package I want to rebuild and use is "nmoldyn" from Guix commit f250a868d8c687df08559682fa68fb4ea2a1ea69. That's the commit referenced in my notes, obtained via "guix describe" in early 2018. I am pretty sure it worked fine back then. First attempt: $ guix time-machine --commit=3Df250a868d8c687df08559682fa68fb4ea2a1ea69 = -- build nmoldyn Updating channel 'guix' from Git repository at 'https://git.savannah.gnu= .org/git/guix.git'... Backtrace: In guix/store.scm: 672:3 19 (_) In ice-9/boot-9.scm: 1752:10 18 (with-exception-handler _ _ #:unwind? _ #:unwind-for-type _) In guix/store.scm: 659:37 17 (thunk) In guix/status.scm: 815:4 16 (call-with-status-report _ _) In guix/store.scm: 1298:8 15 (call-with-build-handler # =E2=80=A6) 2168:25 14 (run-with-store # _ #= _ # _ # _) In guix/inferior.scm: 903:8 13 (_ _) In guix/channels.scm: 944:2 12 (_ _) 891:2 11 (_ _) In ./guix/monads.scm: 487:9 10 (_ _) In guix/store.scm: 1996:8 9 (_ _) In guix/channels.scm: 642:36 8 (_ #) 703:11 7 (_) In ice-9/eval.scm: 619:8 6 (_ #(#(#(#) "/gnu/stor= e/=E2=80=A6" =E2=80=A6) =E2=80=A6)) 626:19 5 (_ #(#(#(#) "/gnu/stor= e/=E2=80=A6" =E2=80=A6) =E2=80=A6)) 155:9 4 (_ #(#(#(#) "/gnu/stor= e/=E2=80=A6" =E2=80=A6) =E2=80=A6)) 223:20 3 (proc #(#(#(#) "/gnu/s= to=E2=80=A6" =E2=80=A6) =E2=80=A6)) In unknown file: 2 (%resolve-variable (7 . %guix-register-program) #) In ice-9/boot-9.scm: 1685:16 1 (raise-exception _ #:continuable? _) 1685:16 0 (raise-exception _ #:continuable? _) ice-9/boot-9.scm:1685:16: In procedure raise-exception: error: %guix-register-program: unbound variable I don't understand what is going wrong here, but it may be related to the fact that the commit I am trying to go back to is older than "guix time-machine". If that's the explanation, it would help if Guix showed some clear error message instead of crashing. Next I tried checking out the source code for commit f250a868d8c687df08559682fa68fb4ea2a1ea69, and building it from source. This is a bit tricky because 2018 Guix cannot be built in today's Guix build environment. For example, today we have Guile 3, but back then we had Guile 2.2. So I need to do "guix environment guix" in an older Guix, before the Guile 3 transition, but later than the introduction of time-machine. I picked one somewhat at random: $ guix time-machine --commit=3De2293cbbe0cd20ddeb932e6f5616565ab468c087 -- environment =E2=80=93pure guix Then I did "bootstrap", "configure =E2=80=93localstatedir=3D/var", "make check". The latter shows 15 failures, some of which look important: FAIL: tests/builders.scm FAIL: tests/derivations.scm FAIL: tests/packages.scm FAIL: tests/guix-environment.sh FAIL: tests/guix-daemon.sh And indeed I cannot build much with my compiled guix: $ ./pre-inst-env guix build nmoldyn hangs after a while, running a binary called "test-lock" for hours. Given the time lapse, I suppose there have been incompatible changes in the build daemon, making the old Guix incompatible with the rather recent build daemon running on my machine. But is there a way around this, other than installing an old Guix in a fully isolated VM? And if installing the old Guix in a VM is the only solution, what would be the best way to do that? I can't think of much else than starting from another distribution (e.g. Debian) and following the installation instructions. That's already a lot of work, but it's made worse by the installation instructions being hidden inside the manual of that old commit, which I cannot easily consult. I'd be grateful for any suggestions! Cheers, Konrad