Hi, A while ago I installed Guix, initially only to be able to install GNUTLS, to be able to make HTTPS requests with the standard library's web client procedures http-get and similar.
Now I have Guix and I installed GNUTLS, but Guile does not know where it is to find GNUTLS. For example the following code will tell me that GNUTLS is required: ~~~ (use-modules (web client) #;(ice-9 receive)) (call-with-values (lambda () (http-get "https://duckduckgo.com" #:port (open-socket-for-uri "https://duckduckgo.com") #:version '(1 . 1) #:keep-alive? #f #:headers '() #:decode-body? #t #:streaming? #f)) (lambda (response response-text) (display response) (display response-text))) ~~~ Output: ~~~ (… some backtrace here …) web/client.scm:105:2: In procedure tls-wrap: Throw to key `gnutls-not-available' with args `("(gnutls) module not available")'. ~~~ I located something at: /gnu/store/z0g1wsiw2n5d1hspbj7xkhj6vnc2qlvp-gnutls-3.5.18/share/guile/site/2.2/gnutls.scm Also I found: ~~~ ll /gnu/store/ | grep gnutls -r--r--r-- 2 root root 735 Jan 1 1970 259dacgq58awd2l8zq7i2p16l7j6a283-gnutls-3.5.18.tar.xz.drv -r--r--r-- 2 root root 2834 Jan 1 1970 7iajc4kiddris32jdkfn28gykvs25g1w-gnutls-3.5.18.tar.xz-builder -r--r--r-- 2 root root 3656 Jan 1 1970 csji08kzw1rswy13jm7xk7f0rp130d55-gnutls-3.5.18.drv -r--r--r-- 2 root root 1315 Jan 1 1970 ivyr33ppfcwkdmkyhk1p6ky7mijanhjj-gnutls-3.5.18.tar.xz.drv -r--r--r-- 2 root root 4414 Jan 1 1970 kd0x57fwwvqqx8jircvs4bcawxskqzmh-gnutls-3.5.18-guile-builder -r--r--r-- 4 root root 579 Jan 1 1970 l8ap56kw9nan13lkgrg8v8ayzfrn2gc5-gnutls-skip-trust-store-test.patch -r--r--r-- 4 root root 1008 Jan 1 1970 sfg2p3l0363yk3s7hrzs1032fl0dga64-gnutls-skip-pkgconfig-test.patch ~~~ For this and other libraries: How do I make Guile automatically use libraries installed through Guix? Here is some more technical detail: - I am using a Xubuntu 18.04 (lsb_release -d: Description: Ubuntu 18.04.1 LTS) - Guile version: 2.2.4 - Guix version: 0.16.0 (installed binary distribution using the install script from the website) - I have the following in my ~/.bashrc related to Guile and Guix: ~~~ # Guile Scheme Load Path export GUILE_LOAD_PATH=/home/xiaolong/development/Guile/libs # (this is where I put manually built and installed libraries) # GNU GUIX locales export GUIX_LOCPATH="${HOME}/.guix-profile/lib/locale" export PATH="${HOME}/.guix-profile/bin${PATH:+:}$PATH" ~~~ - I have the following in my ~/.profile relating to Guile / Guix: ~~~ # changes for GNU GUIX export GUIX_PROFILE="$HOME/.guix-profile" source "$GUIX_PROFILE/etc/profile" export GUIX_LOCPATH="$GUIX_PROFILE/lib/locale" export LC_ALL="en_US.UTF-8" ~~~ Regards, Zelphir