Subject: [bug#52505] [PATCH 1/2] doc: Explain the use of make clean-go when an ABI mismatch occurs.

From: jgart <[email-masked]>
Date: Wed, 15 Dec 2021 06:20:41 -0500

From: Guix Together <[email-masked]>

* doc/contributing.texi (Building from Git): Adds section on using
make clean-go.

Co-authored-by: jgart <[email-masked]>
Co-authored-by: Julien Lepiller <[email-masked]>
Co-authored-by: Ryan Prior <[email-masked]>
Co-authored-by: Blake Shaw <[email-masked]>
---
 doc/contributing.texi | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/doc/contributing.texi b/doc/contributing.texi
index db1c4c6921..1bcb550aac 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-type <origin>>: 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
-- 
2.34.0