emacs-bug-tracker
[Top][All Lists]
Advanced

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

[debbugs-tracker] bug#19630: closed (error message when referencing non-


From: GNU bug Tracking System
Subject: [debbugs-tracker] bug#19630: closed (error message when referencing non-existing output not helpful)
Date: Sat, 24 Jan 2015 22:02:02 +0000

Your message dated Sat, 24 Jan 2015 23:01:07 +0100
with message-id <address@hidden>
and subject line Re: bug#19630: error message when referencing non-existing 
output not helpful
has caused the debbugs.gnu.org bug report #19630,
regarding error message when referencing non-existing output not helpful
to be marked as done.

(If you believe you have received this mail in error, please contact
address@hidden)


-- 
19630: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=19630
GNU Bug Tracking System
Contact address@hidden with problems
--- Begin Message --- Subject: error message when referencing non-existing output not helpful Date: Mon, 19 Jan 2015 12:51:20 +0100
When a package recipe specifies as input a non-existing output of a
package, the build process fails with a rather unhelpful late error
message.

The following is the output of building a package that depends on the
"bin" output of libtool, which has since been removed.

~~~~~
address@hidden:~/code/guix] (599) $ ./pre-inst-env guix build ijs
Backtrace:
In ice-9/boot-9.scm:
 157: 18 [catch #t #<catch-closure 10e4d60> ...]
In unknown file:
   ?: 17 [apply-smob/1 #<catch-closure 10e4d60>]
In ice-9/boot-9.scm:
  63: 16 [call-with-prompt prompt0 ...]
In ice-9/eval.scm:
 432: 15 [eval # #]
In ice-9/boot-9.scm:
2401: 14 [save-module-excursion #<procedure 1100940 at ice-9/boot-9.scm:4045:3 
()>]
4050: 13 [#<procedure 1100940 at ice-9/boot-9.scm:4045:3 ()>]
1724: 12 [%start-stack load-stack ...]
1729: 11 [#<procedure 1118ea0 ()>]
In unknown file:
   ?: 10 [primitive-load "/home/rwurmus/code/guix/scripts/guix"]
In guix/ui.scm:
 787: 9 [run-guix-command build "ijs"]
In ice-9/boot-9.scm:
 157: 8 [catch srfi-34 #<procedure 1872840 at guix/ui.scm:218:2 ()> ...]
 157: 7 [catch system-error ...]
In guix/scripts/build.scm:
 436: 6 [#<procedure 1872860 at guix/scripts/build.scm:422:2 ()>]
In guix/ui.scm:
 307: 5 [show-what-to-build #<build-daemon 256.14 17d7200> (#) #:dry-run? ...]
In guix/derivations.scm:
 226: 4 [substitution-oracle #<build-daemon 256.14 17d7200> (#)]
In guix/store.scm:
 705: 3 [substitutable-paths # #]
In srfi/srfi-1.scm:
 619: 2 [for-each #<procedure 383ed80 at guix/serialization.scm:118:12 
(t-3793)> #]
In guix/serialization.scm:
  85: 1 [write-string #f #<input-output: socket 10>]
In unknown file:
   ?: 0 [string->utf8 #f]

ERROR: In procedure string->utf8:
ERROR: In procedure string->utf8: Wrong type argument in position 1 (expecting 
string): #f
~~~~~

The error message is triggered by an unexpected #f in a long list of
paths.  It would be more helpful if an earlier error was produced that
indicates that the cause is a non-existing package output.



--- End Message ---
--- Begin Message --- Subject: Re: bug#19630: error message when referencing non-existing output not helpful Date: Sat, 24 Jan 2015 23:01:07 +0100 User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4 (gnu/linux)
Commit f304c9c fixes that.  Now the result is something like this:

--8<---------------cut here---------------start------------->8---
$ ./pre-inst-env guix build abiword -n
guix build: error: reference to invalid output 'binfds' of derivation 
'/gnu/store/7lxd5yri8s4vkailk1jg5bxiqrshblj1-glib-2.42.1.drv'
--8<---------------cut here---------------end--------------->8---

It doesn’t say the context in which that invalid reference occurred, but
it’s already much better.

Note that at the lowest level it’s possible to create a derivation that
refers to a non-existent output of some other derivation.  The problem
will go unnoticed until the ‘build-derivations’ RPC is called.

Thanks,
Ludo’.


--- End Message ---

reply via email to

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