From 2f21931833274fb4760cb82203495fab5991877f Mon Sep 17 00:00:00 2001 From: Guix Together Date: Thu, 16 Dec 2021 01:46:50 -0500 Subject: [PATCH] doc: Mention how to remedy "source file ... newer than compiled error". * doc/contributing.texi (Running Guix Before It Is Installed): Mention how to remedy "source file ... newer than compiled" error by running `make -j`. 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 | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/doc/contributing.texi b/doc/contributing.texi index f258d79bd2..196ac48879 100644 --- a/doc/contributing.texi +++ b/doc/contributing.texi @@ -243,6 +243,24 @@ local source tree; it simply updates the @file{~/.config/guix/current} symlink (@pxref{Invoking guix pull}). Run @command{git pull} instead if you want to upgrade your local source tree. +Sometimes, especially if you have recently updated your repository, +running @command{./pre-inst-env} will print a message similar to the +following example: + +@example +;;; note: source file /home/user/projects/guix/guix/progress.scm +;;; newer than compiled /home/user/projects/guix/guix/progress.go +@end example + +This is only a note and you can safely ignore it. You can get rid of +the message by running @command{make -j4}. Until you do, Guile will run +slightly slower because it will interpret the code instead of using +prepared Guile object (@file{.go}) files. + +You can run @command{make} automatically as you work using +@command{watchexec} from the @code{watchexec} package. For example, +to build again each time you update a package file, you can run +@samp{watchexec -w gnu/packages make -j4}. @node The Perfect Setup @section The Perfect Setup