bug-guix
[Top][All Lists]
Advanced

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

bug#32050: invoke (guix build utils) error reporting lacking


From: Maxim Cournoyer
Subject: bug#32050: invoke (guix build utils) error reporting lacking
Date: Mon, 09 Jul 2018 22:42:08 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux)

Maxim Cournoyer <address@hidden> writes:

[...]

> It seems that the "system" and "system*" commands of Guile as well as
> our "invoke" do preserve the stdout/stderr, as when testing it manually
> I can see the useful "sh: tar: command not found" message:
>
> scheme@(guile-user)> ,use (guix build utils)
> scheme@(guile-user)> (system "tar xf 
> yanfzfi7rdyf5scf5h65xbkn7xg0nnbn-docbook-dsssl-doc-1.79.tar.bz2")
> sh: tar: command not found
> $1 = 32512
> scheme@(guile-user)> (invoke "tar" "xf" 
> "yanfzfi7rdyf5scf5h65xbkn7xg0nnbn-docbook-dsssl-doc-1.79.tar.bz2")
> In execvp of tar: No such file or directory
> guix/build/utils.scm:616:6: In procedure invoke:
> Throw to key `srfi-34' with args `(#<condition &invoke-error [program: "tar" 
> arguments: ("xf" 
> "yanfzfi7rdyf5scf5h65xbkn7xg0nnbn-docbook-dsssl-doc-1.79.tar.bz2") 
> exit-status: 127 term-signal: #f stop-signal: #f] 1e3dc40>)'.
>
> Entering a new prompt.  Type `,bt' for a backtrace or `,q' to continue.
>
>
> Unfortunately, when called from the builder side of Guix, this
> information seems to be lost:
>
> ./pre-inst-env guix build --no-build-hook --check docbook-dsssl-doc
> @ build-started 
> /gnu/store/4ra70nwni8mcjyd2wfx7fqvsl4fpfs5m-docbook-dsssl-doc-1.79.drv - 
> x86_64-linux 
> /var/log/guix/drvs/4r//a70nwni8mcjyd2wfx7fqvsl4fpfs5m-docbook-dsssl-doc-1.79.drv.bz2
> Backtrace:
>            2 (primitive-load "/gnu/store/kj0nr8i617gjwypalfs065jllhm?")
> In ice-9/eval.scm:
>    191:35  1 (_ #f)
> In 
> /gnu/store/xlj36j9dw581iah51iyjgi75iikrj55h-module-import/guix/build/utils.scm:
>     616:6  0 (invoke _ . _)
>
> /gnu/store/xlj36j9dw581iah51iyjgi75iikrj55h-module-import/guix/build/utils.scm:616:6:
>  In procedure invoke:
> Throw to key `srfi-34' with args `(#<condition &invoke-error [program: "tar" 
> arguments: ("-xf" 
> "/gnu/store/yanfzfi7rdyf5scf5h65xbkn7xg0nnbn-docbook-dsssl-doc-1.79.tar.bz2" 
> "--strip-components=1" "--no-same-owner" "-C" 
> "/gnu/store/ppf9bhzyqphmc9cvwhq8pc3yfir2qd3m-docbook-dsssl-doc-1.79" 
> "docbook-dsssl-1.79/doc") exit-status: 127 term-signal: #f stop-signal: #f] 
> 68fcc0>)'.
> builder for 
> `/gnu/store/4ra70nwni8mcjyd2wfx7fqvsl4fpfs5m-docbook-dsssl-doc-1.79.drv' 
> failed with exit code 1
> @ build-failed 
> /gnu/store/4ra70nwni8mcjyd2wfx7fqvsl4fpfs5m-docbook-dsssl-doc-1.79.drv - 1 
> builder for 
> `/gnu/store/4ra70nwni8mcjyd2wfx7fqvsl4fpfs5m-docbook-dsssl-doc-1.79.drv' 
> failed with exit code 1
> guix build: error: build failed: build of
> `/gnu/store/4ra70nwni8mcjyd2wfx7fqvsl4fpfs5m-docbook-dsssl-doc-1.79.drv'
> failed
>
> Could it be preserved? It'd be very useful when debugging :)

I've investigated a bit, and as far as I can see by reading guix
sources, the build log output would be displayed and any error reported
by the `process-stderr' procedure in (guix store). This procedure
behavior seems to depend closely on that of the guix daemon (server), so
the problem could lie on the daemon side as well, so that's where I'll
try digging next.

Maxim





reply via email to

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