From mboxrd@z Thu Jan 1 00:00:00 1970 From: sirgazil Subject: Re: Using Guix API in a foreign distribution Date: Sat, 15 Apr 2017 22:14:10 -0500 Message-ID: <94073119-f7da-4f7a-8eb3-1279b5f512f6@zoho.com> References: <87fuh9e0h7.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:33101) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1czaPE-0006td-A8 for help-guix@gnu.org; Sat, 15 Apr 2017 22:59:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1czaPB-000604-8Y for help-guix@gnu.org; Sat, 15 Apr 2017 22:59:16 -0400 Received: from sender-pp-092.zoho.com ([135.84.80.237]:25432) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1czaPB-0005yq-2M for help-guix@gnu.org; Sat, 15 Apr 2017 22:59:13 -0400 In-Reply-To: <87fuh9e0h7.fsf@gmail.com> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org Sender: "Help-Guix" To: Chris Marusich Cc: help-guix@gnu.org Hi Chris, thanks for checking. On 15/04/17 18:04, Chris Marusich wrote: > sirgazil writes: > >> Hi, >> >> I'm using Guix 20170415.01 (binary installation) on Debian 8, and I was >> hoping to use the Guix API by installing the guix package as a normal >> user, but it seems Guile can't find guix modules: >> >> ---------------------------------------------------------------------- >> >> $ guile >> GNU Guile 2.2.0 >> Copyright (C) 1995-2017 Free Software Foundation, Inc. >> >> Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'. >> This program is free software, and you are welcome to redistribute it >> under certain conditions; type `,show c' for details. >> >> Enter `,help' for help. >> scheme@(guile-user)> (use-modules (guix packages)) >> While compiling expression: >> ERROR: no code for module (guix packages) >> >> ---------------------------------------------------------------------- >> >> I'm using Guile from Guix, and I have all the environment variables set >> as suggested by "guix package --search-paths". Also, I can install Guile >> libraries from Guix and Guile finds them without problems. >> >> So, is anyone able to use the Guix API in this way, or do you have to >> clone the Guix repository for that? > It works for me on a foreign distro. This is what I see: > > --8<---------------cut here---------------start------------->8--- > marusich@odin:~$ guix package --list-installed | grep guix > guix 0.12.0-6.73a4 out /gnu/store/3xwb1alcv5xd2zgcxp1d1bqqgv0afxj2-guix-0.12.0-6.73a4 > marusich@odin:~$ env | grep GUILE > GUILE_LOAD_PATH=/home/marusich/.guix-profile/share/guile/site/2.0 > GUILE_LOAD_COMPILED_PATH=/home/marusich/.guix-profile/lib/guile/2.0/site-ccache:/home/marusich/.guix-profile/share/guile/site/2.0 > marusich@odin:~$ find -L $(env | grep GUILE | cut -d = -f 2 | tr : '\n' | sort | uniq) -name packages.scm > /home/marusich/.guix-profile/share/guile/site/2.0/guix/packages.scm > /home/marusich/.guix-profile/share/guile/site/2.0/gnu/packages.scm > marusich@odin:~$ guile > GNU Guile 2.0.13 > Copyright (C) 1995-2016 Free Software Foundation, Inc. > > Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'. > This program is free software, and you are welcome to redistribute it > under certain conditions; type `,show c' for details. > > Enter `,help' for help. > scheme@(guile-user)> (use-modules (guix packages)) > scheme@(guile-user)> > marusich@odin:~$ > --8<---------------cut here---------------end--------------->8--- > > Can you share the output of similar commands on your system? Here it is: $ guix package --list-installed | grep guix guix 0.12.0-7.aabe out /gnu/store/24fa9898h2aa7k7fcbp67kwrwgrxlgi5-guix-0.12.0-7.aabe $ env | grep GUILE GUILE_LOAD_PATH=/home/sirgazil/.guix-profile/share/guile/site/2.2 GUILE_LOAD_COMPILED_PATH=/home/sirgazil/.guix-profile/lib/guile/2.2/site-ccache:/home/sirgazil/.guix-profile/share/guile/site/2.2 $ find -L $(env | grep GUILE | cut -d = -f 2 | tr : '\n' | sort | uniq) -name packages.scm $ So, guix modules are available in ".guix-profile/share/guile/site/2.0" but not in ".guix-profile/share/guile/site/2.2". > By the way, I see you're using Guile 2.2. Does this same problem occur > when using Guile 2.0? I think Guix is still compiled using Guile 2.0, > so I get warnings when trying to import (guix packages) using Guile 2.2. > No. If I install guile 2.0.14, I can load guix modules just fine.