Ian Denhardt (2014-10-26 00:02 +0400) wrote: > Quoting Alex Kost (2014-10-25 13:30:26) >> Hello, I noticed <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=18831> >> and decided to ask about a similar problem I have. >> >> Whenever I try to download anything from https, I get an error, for >> example: >> >> --8<---------------cut here---------------start------------->8--- >> $ guix download https://savannah.gnu.org/projects/guix/ >> starting download of `/tmp/guix-file.Z7tZhy' from >> `https://savannah.gnu.org/projects/guix/'... >> ;;; 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.Z7tZhy" from >> "https://savannah.gnu.org/projects/guix/" >> guix download: error: https://savannah.gnu.org/projects/guix/: download >> failed >> --8<---------------cut here---------------end--------------->8--- >> >> I have a feeling that I'm missing something obvious but I can't figure >> it out. Any help appreciated. > > Huh, I assumed this was just me having set up something wrong. Either > this is an actual bug, or we've hit the same pitfall with configuration. > > Do others have this working? What's your setup like? I'm running in a > git checkout on an up-to-date Archlinux system, set up according to the > instructions in the README.
The same for me (Arch Linux as well). Unhappily, as you can see at <https://projects.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/gnutls> gnutls is built without guile support (./configure … --disable-guile). Thus gnutls from Arch Linux wouldn't work; so I installed gnutls using guix and augmented guile paths with: /home/<user>/.guix-profile/share/guile/site With this guile can find (gnutls) module and the error disappears. Ludovic Courtès (2014-10-26 01:53 +0400) wrote: > The problem is that the GnuTLS Guile bindings must be installed for > ‘guix download’ to work with HTTPS (the manual suggests it, but perhaps > not clearly enough?) Thanks for the explanation. The manual is absolutely clear, I just didn't read it properly :-) > So just install GnuTLS, make sure ‘guile -c '(use-modules (gnutls))'’ > succeeds, and then it’ll work. Yes, I installed gnutls, but it didn't work because I didn't set the right guile paths: “guix package --search-paths” recommends "/usr/local/var/guix/profiles/per-user/<user>/guix-profile/share/guile/site/2.0" but "gnutls.scm" is actually placed in "/usr/local/var/guix/profiles/per-user/<user>/guix-profile/share/guile/site" so ‘(use-modules (gnutls))’ failed for me. Perhaps “guix package --search-paths” should be adjusted to recommend the following (?): export GUILE_LOAD_PATH="<path/to/guix-profile>/share/guile/site/2.0:<path/to/guix-profile>/share/guile/site" export GUILE_LOAD_COMPILED_PATH="<path/to/guix-profile>/share/guile/site/2.0:<path/to/guix-profile>/share/guile/site" -- Alex