guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

(Geiser or guile bug) Guix-daemon output is missing


From: Alex Kost
Subject: (Geiser or guile bug) Guix-daemon output is missing
Date: Sun, 06 Sep 2015 12:03:28 +0300
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

Hello.

There is a strange problem with evaluating a code using Geiser, which
leads to some missing output in a REPL.  I have an example demonstrating
the problem using some Guix code, but I would like to have a pure guile
recipe, so that it can be reported.

So how to reproduce the bug.  At first, make a file "test-bug.scm"
(attached) and put it somewhere to GUIX_PACKAGE_PATH.  Run "guix build
test-package" in shell to make sure that the package is found.  The
building will fail, but it's fine for this demonstration.  Note that
there is a usual output from guix-daemon ("@ build-started …").

Now the bug itself:

1. Start Geiser (M-x run-guile)

2. Make a scheme buffer and evaluate (use-modules (guix scripts build))
   there using "C-x C-e" or "C-M-x" (or any other "geiser-eval-…"
   command).  This is important: do not ,use module in the REPL;
   evaluate ‘use-modules’ clause in a scheme buffer!

3. Go to the REPL and run the following there:

   (catch 'quit (lambda () (guix-build "test-package")) (const #t)).

You get only "The following derivation will be built: …" but there is no
build output from guix-daemon.

Now if you close the REPL and repeat this recipe but on the 2nd step you
evaluate (use-modules (guix scripts build)) or ,use(guix scripts build)
in the REPL itself, you will see the build output as expected.

So there is something special with this guix-daemon output and with
Geiser synchronous evaluating (using ‘geiser-eval--send/wait’) that
sends this output to a better world.

I appreciate any ideas on solving this bug or making a guix-independent
recipe to reproduce it.

Attachment: test-bug.scm
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]