Hello Rostislav. I do not know how to address the issue properly or where to document it. The Writing Documentation section is the wrong place, because everyone has to bootstrap again, not only the one who is writing documentation; if we put a notice somewhere, then it would be something like:
diff --git a/doc/contributing.texi b/doc/contributing.texi index f5b01f42fd..2dd4be951f 100644 --- a/doc/contributing.texi +++ b/doc/contributing.texi @@ -194,24 +194,28 @@ After updating the repository, @command{make} might fail with an error similar to the following example: @example error: failed to load 'gnu/packages/linux.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}. +If after updating, @command{make} fails with another error message, +you probably have to repeat all steps described here, starting with +@command{./bootstrap}. + @node Running Guix Before It Is Installed @section Running Guix Before It Is Installed In order to keep a sane working environment, you will find it useful to test the changes made in your local source tree checkout without actually installing them. So that you can distinguish between your ``end-user'' hat and your ``motley'' costume. To that end, all the command-line tools can be used even if you have not run @code{make install}. To do that, you first need to have an environment with all the dependencies available (@pxref{Building from Git}), and then simply prefix each command with @command{./pre-inst-env}
Would that be OK? Regards, Florian