[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Using Guix API in a foreign distribution
From: |
sirgazil |
Subject: |
Re: Using Guix API in a foreign distribution |
Date: |
Sat, 15 Apr 2017 22:14:10 -0500 |
User-agent: |
Mozilla/5.0 (X11; Linux i686; rv:45.0) Gecko/20100101 Icedove/45.6.0 |
Hi Chris, thanks for checking.
On 15/04/17 18:04, Chris Marusich wrote:
> sirgazil <address@hidden> 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---
> address@hidden:~$ guix package --list-installed | grep guix
> guix 0.12.0-6.73a4 out
> /gnu/store/3xwb1alcv5xd2zgcxp1d1bqqgv0afxj2-guix-0.12.0-6.73a4
> address@hidden:~$ 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
> address@hidden:~$ 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
> address@hidden:~$ 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)>
> address@hidden:~$
> --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.