From 087ad097da798b2a019b7b469699b09b116d7d74 Mon Sep 17 00:00:00 2001 From: Guix Together Date: Thu, 16 Dec 2021 01:46:49 -0500 Subject: doc: Explain the use of make clean-go when an ABI mismatch occurs. * doc/contributing.texi (Building from Git): Adds section on using make clean-go. Co-authored-by: jgart Co-authored-by: Julien Lepiller Co-authored-by: Ryan Prior Co-authored-by: Blake Shaw Signed-off-by: Nicolas Goaziou --- doc/contributing.texi | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/doc/contributing.texi b/doc/contributing.texi index 9f97788c0b..f258d79bd2 100644 --- a/doc/contributing.texi +++ b/doc/contributing.texi @@ -157,6 +157,18 @@ You are advised to run @command{make authenticate} after every changes to the repository. @end quotation +After updating the repository, @command{make} might fail with an error +similar to the following example: + +@example +error: failed to load 'gnu/packages/dunst.scm': +ice-9/eval.scm:293:34: In procedure abi-check: #>: record ABI mismatch; recompilation needed +@end example + +This means that one of the record types that Guix defines (in this +example, the @code{origin} record) has changed, and all of guix needs +to be recompiled to take that change into account. To do so, run +@command{make clean-go} followed by @command{make}. @node Running Guix Before It Is Installed @section Running Guix Before It Is Installed -- cgit v1.2.3