From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Kost Subject: (Geiser or guile bug) Guix-daemon output is missing Date: Sun, 06 Sep 2015 12:03:28 +0300 Message-ID: <87d1xvx6lb.fsf@gmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:52414) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZYVrD-0002uF-Js for guix-devel@gnu.org; Sun, 06 Sep 2015 05:03:28 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZYVrC-0005dx-Pg for guix-devel@gnu.org; Sun, 06 Sep 2015 05:03:27 -0400 List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: guix-devel@gnu.org --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable 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 =E2=80=A6"). 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-=E2=80=A6" command). This is important: do not ,use module in the REPL; evaluate =E2=80=98use-modules=E2=80=99 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: =E2=80=A6" 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 =E2=80=98geiser-eval--send/wait=E2=80= =99) 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. --=-=-= Content-Type: text/x-scheme Content-Disposition: attachment; filename=test-bug.scm (define-module (test-bug) #:use-module (guix packages) #:use-module (guix build-system trivial) #:use-module (gnu packages base)) (define-public test-package (package (inherit hello) (name "test-package") (build-system trivial-build-system) (arguments '(#:builder (const #t))))) --=-=-=--