--- Begin Message ---
Subject: |
Error handling in guix import? |
Date: |
Sat, 25 Oct 2014 05:19:17 -0400 |
User-agent: |
alot/0.3.6 |
So I was trying to play with the pypi importer, and (as a test) ran:
guix import pypi schema
and got back:
starting download of `/tmp/guix-file.5J1eOy' from
`https://pypi.python.org/pypi/schema/json'...
;;; Failed to autoload make-session in (gnutls):
;;; ERROR: missing interface for module (gnutls)
ERROR: In procedure module-lookup: Unbound variable: make-session
failed to download "/tmp/guix-file.5J1eOy" from
"https://pypi.python.org/pypi/schema/json"
Backtrace:
In ice-9/boot-9.scm:
157: 13 [catch #t #<catch-closure 28ab1c0> ...]
In unknown file:
?: 12 [apply-smob/1 #<catch-closure 28ab1c0>]
In ice-9/boot-9.scm:
63: 11 [call-with-prompt prompt0 ...]
In ice-9/eval.scm:
432: 10 [eval # #]
In ice-9/boot-9.scm:
2401: 9 [save-module-excursion #<procedure 28ca940 at
ice-9/boot-9.scm:4045:3 ()>]
4050: 8 [#<procedure 28ca940 at ice-9/boot-9.scm:4045:3 ()>]
1724: 7 [%start-stack load-stack ...]
1729: 6 [#<procedure 28e2ea0 ()>]
In unknown file:
?: 5 [primitive-load "/home/isd/src/guix/scripts/guix"]
In guix/ui.scm:
776: 4 [run-guix-command import "pypi" "schema"]
In guix/scripts/import.scm:
109: 3 [guix-import "pypi" "schema"]
In guix/import/pypi.scm:
167: 2 [pypi->guix-package "schema"]
112: 1 [latest-source-release #f]
In unknown file:
?: 0 [find #<procedure 3b00920 at guix/import/pypi.scm:112:14 (release)>
#f]
ERROR: In procedure find:
ERROR: In procedure find: Wrong type argument in position 2 (expecting
list): #f
It's obvious from the stuff at the beginning that there's some
underlying issue to due with gnutls that's causing the url fetch to
fail. My hunch is that's just my system, However, it's perfectly
reasonable to expect it to fail under more normal circumstances -
e.g. you're not connected to a network.
I poked through the source a bit, and it looks like the importer is just
not checking for errors from (guix build download)'s url-fetch (which
returns #f on error), so when it fails you get a stack trace like the
above. We should do a proper check for download failures, and print an
intelligible error message.
-Ian
signature.asc
Description: signature
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#18831: Error handling in guix import? |
Date: |
Wed, 05 Nov 2014 18:06:20 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.4 (gnu/linux) |
Thanks for the report and analysis. This is fixed in 467a3c9.
Ian Denhardt <address@hidden> skribis:
> starting download of `/tmp/guix-file.5J1eOy' from
> `https://pypi.python.org/pypi/schema/json'...
> ;;; Failed to autoload make-session in (gnutls):
> ;;; ERROR: missing interface for module (gnutls)
> ERROR: In procedure module-lookup: Unbound variable: make-session
As for this part, note that GnuTLS is actually required here, because
pypi.python.org is only accessibly over HTTPS here. We’ll make that
clear in the manual.
Ludo’.
--- End Message ---