unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* New ‘guix pull’
@ 2018-06-09 10:16 Ludovic Courtès
  2018-06-09 14:25 ` New ‘guix pull’ dosen’t update the guix manual in GuixSD 宋文武
                   ` (2 more replies)
  0 siblings, 3 replies; 29+ messages in thread
From: Ludovic Courtès @ 2018-06-09 10:16 UTC (permalink / raw)
  To: guix-devel

[-- Attachment #1: Type: text/plain, Size: 1113 bytes --]

Hello Guix!

For those who haven’t been following along on
<https://debbugs.gnu.org/cgi/bugreport.cgi?bug=22629#35>, I have just
pushed a new ‘guix pull’.

To summarize, ~/.config/guix/latest no longer exists.  Instead
~/.config/guix/current is populated with a complete Guix (without
‘guix-daemon’ though), including an up-to-date manual and so on.
~/.config/guix/current is a regular profile, meaning that you can
roll-back to a previously-pulled Guix and so on.

There are also problems that this does *not* solve: in particular,
building Guix still takes too much time if you don’t have substitutes
available (berlin.guixsd.org provides substitutes for it, but
mirror.hydra.gnu.org does not.)  We’ll get there!

There are also now many ways in which we could improve the API:
implementing ‘guix pull -l’ that would show not just the generations but
also the commit IDs, recording more meta-data so that ‘guix pull’ can
for instance list all the new/upgraded packages between two generations,
adding support for “channels”, etc.

Feedback welcome!

Ludo’.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* New ‘guix pull’ dosen’t update the guix manual in GuixSD
  2018-06-09 10:16 New ‘guix pull’ Ludovic Courtès
@ 2018-06-09 14:25 ` 宋文武
  2018-06-10 19:33   ` Ludovic Courtès
  2018-07-08 17:31 ` New ‘guix pull’ Pjotr Prins
  2018-07-12  9:35 ` Chris Marusich
  2 siblings, 1 reply; 29+ messages in thread
From: 宋文武 @ 2018-06-09 14:25 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel, bug-guix

ludo@gnu.org (Ludovic Courtès) writes:

> Hello Guix!
>
> For those who haven’t been following along on
> <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=22629#35>, I have just
> pushed a new ‘guix pull’.
>
> To summarize, ~/.config/guix/latest no longer exists.  Instead
> ~/.config/guix/current is populated with a complete Guix (without
> ‘guix-daemon’ though), including an up-to-date manual and so on.
> ~/.config/guix/current is a regular profile, meaning that you can
> roll-back to a previously-pulled Guix and so on.

Great!


After run ‘guix pull’ twice, I have got ‘~/.config/guix/current’, then
use it to do a system reconfigure for ‘/etc/profile’.

But the guix manual doesn’t got updated, my ‘INFOPATH’ contains:

- /home/iyzsong/.guix-profile/share/info
- /run/current-system/profile/share/info
- /home/iyzsong/.config/guix/current/share/info
- /home/iyzsong/.guix-profile/share/info
- /run/current-system/profile/share/info

The last there are from the ‘export’ statement of ‘/etc/profile’, the
first two are added by ‘source’ the profiles.  Since there is a guix in
the system profile contains the old info manual, the current one won’t
be picked.

I think we should make ‘INFOPATH’ a search path of the ‘current’ guix
profile, so that it overrides previous ones.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: New ‘guix pull’ dosen’t update the guix manual in GuixSD
  2018-06-09 14:25 ` New ‘guix pull’ dosen’t update the guix manual in GuixSD 宋文武
@ 2018-06-10 19:33   ` Ludovic Courtès
  2018-06-11 11:27     ` 宋文武
  0 siblings, 1 reply; 29+ messages in thread
From: Ludovic Courtès @ 2018-06-10 19:33 UTC (permalink / raw)
  To: 宋文武; +Cc: guix-devel, 31770

[-- Attachment #1: Type: text/plain, Size: 870 bytes --]

Hello 宋文武!

iyzsong@member.fsf.org (宋文武) skribis:

> After run ‘guix pull’ twice, I have got ‘~/.config/guix/current’, then
> use it to do a system reconfigure for ‘/etc/profile’.
>
> But the guix manual doesn’t got updated, my ‘INFOPATH’ contains:
>
> - /home/iyzsong/.guix-profile/share/info
> - /run/current-system/profile/share/info
> - /home/iyzsong/.config/guix/current/share/info
> - /home/iyzsong/.guix-profile/share/info
> - /run/current-system/profile/share/info
>
> The last there are from the ‘export’ statement of ‘/etc/profile’, the
> first two are added by ‘source’ the profiles.  Since there is a guix in
> the system profile contains the old info manual, the current one won’t
> be picked.

Ooh!  I think the change below should be enough to ensure
~/.config/guix/current comes first:


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Type: text/x-patch, Size: 1123 bytes --]

--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -602,7 +602,7 @@ directory."
 # because they would require combining both profiles.
 # FIXME: See <http://bugs.gnu.org/20255>.
 export MANPATH=$HOME/.guix-profile/share/man:/run/current-system/profile/share/man
-export INFOPATH=$HOME/.config/guix/current/share/info:$HOME/.guix-profile/share/info:/run/current-system/profile/share/info
+export INFOPATH=$HOME/.guix-profile/share/info:/run/current-system/profile/share/info
 export XDG_DATA_DIRS=$HOME/.guix-profile/share:/run/current-system/profile/share
 export XDG_CONFIG_DIRS=$HOME/.guix-profile/etc/xdg:/run/current-system/profile/etc/xdg
 
@@ -630,7 +630,7 @@ then
   export `cat /etc/environment | cut -d= -f1`
 fi
 
-for profile in \"$HOME/.config/guix/current\" \"$HOME/.guix-profile\"
+for profile in \"$HOME/.guix-profile\" \"$HOME/.config/guix/current\"
 do
   if [ -f \"$profile/etc/profile\" ]
   then
@@ -644,6 +644,8 @@ do
   fi
 done
 
+export INFOPATH=\"$HOME/.config/guix/current/share/info:$INFOPATH\"
+
 # Set the umask, notably for users logging in via 'lsh'.
 # See <http://bugs.gnu.org/22650>.
 umask 022

[-- Attachment #3: Type: text/plain, Size: 232 bytes --]


How does that sound?

(Note that in the meantime you can always work around the bug by using
‘info -f ~/.config/guix/current/share/info/guix.info’ or ‘C-u C-h i …’
in Emacs.)

Thanks for the heads-up!

Ludo’.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: New ‘guix pull’ dosen’t update the guix manual in GuixSD
  2018-06-10 19:33   ` Ludovic Courtès
@ 2018-06-11 11:27     ` 宋文武
  2018-06-12 13:54       ` Ludovic Courtès
  0 siblings, 1 reply; 29+ messages in thread
From: 宋文武 @ 2018-06-11 11:27 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel, 31770

ludo@gnu.org (Ludovic Courtès) writes:

>> The last there are from the ‘export’ statement of ‘/etc/profile’, the
>> first two are added by ‘source’ the profiles.  Since there is a guix in
>> the system profile contains the old info manual, the current one won’t
>> be picked.
>
> Ooh!  I think the change below should be enough to ensure
> ~/.config/guix/current comes first:
>
> --- a/gnu/system.scm
> +++ b/gnu/system.scm
> @@ -602,7 +602,7 @@ directory."
>  # because they would require combining both profiles.
>  # FIXME: See <http://bugs.gnu.org/20255>.
>  export MANPATH=$HOME/.guix-profile/share/man:/run/current-system/profile/share/man
> -export INFOPATH=$HOME/.config/guix/current/share/info:$HOME/.guix-profile/share/info:/run/current-system/profile/share/info
> +export INFOPATH=$HOME/.guix-profile/share/info:/run/current-system/profile/share/info
>  export XDG_DATA_DIRS=$HOME/.guix-profile/share:/run/current-system/profile/share
>  export XDG_CONFIG_DIRS=$HOME/.guix-profile/etc/xdg:/run/current-system/profile/etc/xdg
>  
> @@ -630,7 +630,7 @@ then
>    export `cat /etc/environment | cut -d= -f1`
>  fi
>  
> -for profile in \"$HOME/.config/guix/current\" \"$HOME/.guix-profile\"
> +for profile in \"$HOME/.guix-profile\" \"$HOME/.config/guix/current\"
>  do
>    if [ -f \"$profile/etc/profile\" ]
>    then
> @@ -644,6 +644,8 @@ do
>    fi
>  done
>  
> +export INFOPATH=\"$HOME/.config/guix/current/share/info:$INFOPATH\"
> +
>  # Set the umask, notably for users logging in via 'lsh'.
>  # See <http://bugs.gnu.org/22650>.
>  umask 022
>
>
> How does that sound?

Yeah, that's fine.  Maybe add comments about why source ‘current’ after
user profile (prefer current guix) and why ‘export INFOPATH’ at the end
(prefer the current guix manual).  Thank you!

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: New ‘guix pull’ dosen’t update the guix manual in GuixSD
  2018-06-11 11:27     ` 宋文武
@ 2018-06-12 13:54       ` Ludovic Courtès
  0 siblings, 0 replies; 29+ messages in thread
From: Ludovic Courtès @ 2018-06-12 13:54 UTC (permalink / raw)
  To: 宋文武; +Cc: guix-devel, 31770-done

iyzsong@member.fsf.org (宋文武) skribis:

> ludo@gnu.org (Ludovic Courtès) writes:

[...]

>> -for profile in \"$HOME/.config/guix/current\" \"$HOME/.guix-profile\"
>> +for profile in \"$HOME/.guix-profile\" \"$HOME/.config/guix/current\"
>>  do
>>    if [ -f \"$profile/etc/profile\" ]
>>    then
>> @@ -644,6 +644,8 @@ do
>>    fi
>>  done
>>  
>> +export INFOPATH=\"$HOME/.config/guix/current/share/info:$INFOPATH\"
>> +
>>  # Set the umask, notably for users logging in via 'lsh'.
>>  # See <http://bugs.gnu.org/22650>.
>>  umask 022
>>
>>
>> How does that sound?
>
> Yeah, that's fine.  Maybe add comments about why source ‘current’ after
> user profile (prefer current guix) and why ‘export INFOPATH’ at the end
> (prefer the current guix manual).  Thank you!

Good idea.  Pushed as 8d09bfe21870c2d5fdb1cd04bc5fdcab177204b0, thanks!

Ludo’.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: New ‘guix pull’
  2018-06-09 10:16 New ‘guix pull’ Ludovic Courtès
  2018-06-09 14:25 ` New ‘guix pull’ dosen’t update the guix manual in GuixSD 宋文武
@ 2018-07-08 17:31 ` Pjotr Prins
  2018-07-12  9:35 ` Chris Marusich
  2 siblings, 0 replies; 29+ messages in thread
From: Pjotr Prins @ 2018-07-08 17:31 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

On Sat, Jun 09, 2018 at 12:16:33PM +0200, Ludovic Courtès wrote:
> For those who haven’t been following along on
> <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=22629#35>, I have just
> pushed a new ‘guix pull’.

I did my first pull in ages (pull was more like pulling teeth before,
something you do when all options run out) and it works rather well
now. Thanks Ludo. I'll be pulling more often. No more guix complaining
my system is 480 days old ;)

Pj.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: New ‘guix pull’
  2018-06-09 10:16 New ‘guix pull’ Ludovic Courtès
  2018-06-09 14:25 ` New ‘guix pull’ dosen’t update the guix manual in GuixSD 宋文武
  2018-07-08 17:31 ` New ‘guix pull’ Pjotr Prins
@ 2018-07-12  9:35 ` Chris Marusich
  2018-07-12 11:04   ` Pjotr Prins
  2018-07-12 16:01   ` Ludovic Courtès
  2 siblings, 2 replies; 29+ messages in thread
From: Chris Marusich @ 2018-07-12  9:35 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 688 bytes --]

ludo@gnu.org (Ludovic Courtès) writes:

> I have just pushed a new ‘guix pull’.
>
> Feedback welcome!

The biggest hiccup for me was that I didn't realize at first that I had
to run "guix pull" twice to upgrade from the old style "guix pull".
Anyway, after I finally did it, things have been working well.

Thank you for your hard work on this improvement!  One of the reasons I
have always been a little scared to run "guix pull" frequently is
because it was difficult to roll back.  Now that the user-installed Guix
is managed in a profile of sorts, it will probably be easy to add
something like "guix pull --roll-back" to help people recover easily.

-- 
Chris

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: New ‘guix pull’
  2018-07-12  9:35 ` Chris Marusich
@ 2018-07-12 11:04   ` Pjotr Prins
  2018-07-12 11:12     ` Pjotr Prins
  2018-07-12 14:17     ` New ‘guix pull’ Ricardo Wurmus
  2018-07-12 16:01   ` Ludovic Courtès
  1 sibling, 2 replies; 29+ messages in thread
From: Pjotr Prins @ 2018-07-12 11:04 UTC (permalink / raw)
  To: Chris Marusich; +Cc: guix-devel

On Thu, Jul 12, 2018 at 02:35:13AM -0700, Chris Marusich wrote:
> ludo@gnu.org (Ludovic Courtès) writes:
> 
> > I have just pushed a new ‘guix pull’.
> >
> > Feedback welcome!
> 
> The biggest hiccup for me was that I didn't realize at first that I had
> to run "guix pull" twice to upgrade from the old style "guix pull".
> Anyway, after I finally did it, things have been working well.

Yes. The other thing is that guix pull did not update my profile. So,
I had to figure out which guix was installed in the store! One has to
capture the git commit when running guix pull and look for that in the
store path, e.g.

  ecba50bb79a49b317c4b1e718f4732b36438227f

mapped to 

  /gnu/store/a5cixasz02ynhppna33zxymxahp3vl13-guix-ecba50bb7/bin/guix

Next restart the daemon with the new path and all should be well.

Pj.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: New ‘guix pull’
  2018-07-12 11:04   ` Pjotr Prins
@ 2018-07-12 11:12     ` Pjotr Prins
  2018-07-12 12:35       ` New ‘guix pull’ - guile-sqlite3 problem Pjotr Prins
  2018-07-12 14:17     ` New ‘guix pull’ Ricardo Wurmus
  1 sibling, 1 reply; 29+ messages in thread
From: Pjotr Prins @ 2018-07-12 11:12 UTC (permalink / raw)
  To: Pjotr Prins; +Cc: guix-devel

On Thu, Jul 12, 2018 at 01:04:38PM +0200, Pjotr Prins wrote:
> On Thu, Jul 12, 2018 at 02:35:13AM -0700, Chris Marusich wrote:
> > ludo@gnu.org (Ludovic Courtès) writes:
> > 
> > > I have just pushed a new ‘guix pull’.
> > >
> > > Feedback welcome!
> > 
> > The biggest hiccup for me was that I didn't realize at first that I had
> > to run "guix pull" twice to upgrade from the old style "guix pull".
> > Anyway, after I finally did it, things have been working well.
> 
> Yes. The other thing is that guix pull did not update my profile. So,
> I had to figure out which guix was installed in the store! One has to
> capture the git commit when running guix pull and look for that in the
> store path, e.g.
> 
>   ecba50bb79a49b317c4b1e718f4732b36438227f
> 
> mapped to 
> 
>   /gnu/store/a5cixasz02ynhppna33zxymxahp3vl13-guix-ecba50bb7/bin/guix
> 
> Next restart the daemon with the new path and all should be well.

Another weirdness wash when using above guix daemon and client:

  /gnu/store/a5cixasz02ynhppna33zxymxahp3vl13-guix-ecba50bb7/bin/guix pull
  /gnu/store/8ahlc84zaj0iw9jpsdpa9wx4ms0s9cma-guix-daemon-0.15.0-1.4876bc8/libexec/guix/offload: line 8: /root/.config/current/bin/guix: No such file or directory
  guix pull: error: build failed: unexpected EOF reading a line

now where did that come from ;). This got not cleaned up by Ricardo's suggestion

  guix gc --verify=repair,contents

and it was probably caused by some manual copy of the binary tar installation - you know I try things, it is evil.

  ln -s /gnu/store/a5cixasz02ynhppna33zxymxahp3vl13-guix-ecba50bb7/  /root/.config/current

got it going again. For posterity.

Pj.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: New ‘guix pull’ - guile-sqlite3 problem
  2018-07-12 11:12     ` Pjotr Prins
@ 2018-07-12 12:35       ` Pjotr Prins
  2018-07-12 12:43         ` Pjotr Prins
  2018-07-18  5:32         ` Chris Marusich
  0 siblings, 2 replies; 29+ messages in thread
From: Pjotr Prins @ 2018-07-12 12:35 UTC (permalink / raw)
  To: guix-devel

So I updated guix pull multiple times :) and both daemon and client
are at

  guix (GNU Guix) ecba50bb79a49b317c4b1e718f4732b36438227f

Now I am creating an environment to build the source tree with

  env -i /bin/bash --login --noprofile --norc
  guix environment guix --ad-hoc help2man git strace \
    pkg-config less vim binutils coreutils grep guile guile-git guile-json gcc po4a guile-sqlite3 

Then I run the full monty after a git pull guix master:

	gcc --version
	guile --version
	rm -rf autom4te.cache/ # to be sure
	make clean
	./bootstrap
	./configure --localstatedir=/var
	make clean    # to be really sure
	make clean-go # to be even surer
	time make

which stops in the configure step with

	checking for pkg-config... /gnu/store/k6s1r0pamx0gih2d4mg87ypyz23h7rzq-profile/bin/pkg-config
	checking pkg-config is at least version 0.9.0... yes
	configure: checking for guile 2.2
	configure: found guile 2.2
	checking for guile-2.2... no
	checking for guile2.2... no
	checking for guile-2... no
	checking for guile2... no
	checking for guile... /gnu/store/k6s1r0pamx0gih2d4mg87ypyz23h7rzq-profile/bin/guile
	checking for Guile version >= 2.2... 2.2.3
	checking for guild... /gnu/store/k6s1r0pamx0gih2d4mg87ypyz23h7rzq-profile/bin/guild
	checking for guile-config... /gnu/store/k6s1r0pamx0gih2d4mg87ypyz23h7rzq-profile/bin/guile-config
	checking if (gnutls) is available... yes
	checking if (git) is available... yes
	checking if (json) is available... yes
	checking whether Guile-Sqlite3 is available and recent enough... no
	configure: error: A recent Guile-SQLite3 could not be found; please install it.

Erm. It is in the environment! What am I missing here? The PATHs may
point at the problem

  GUILE_LOAD_COMPILED_PATH=/gnu/store/k6s1r0pamx0gih2d4mg87ypyz23h7rzq-profile/lib/guile/2.2/site-ccache:/gnu/store/k6s1r0pamx0gih2d4mg87ypyz23h7rzq-profile/share/guile/site/2.2:/gnu/store/bcmf06k2n1pfwqkzpclvvc3w9jdfi71a-guile-json-0.6.0/lib/guile/2.2/site-ccache:/gnu/store/jvsgj5l4lgdknari34rv29wv253n8jcl-gnutls-3.5.13/lib/guile/2.2/site-ccache:/gnu/store/x4c2a0z0lf9zp9kgx96k5aplw4ihnak1-guile-git-0.0-4.951a32c/lib/guile/2.2/site-ccache:/gnu/store/x8cwg5bm9y2dk1mrhisr63b5q98mbhhz-guile-bytestructures-20170402.91d042e/lib/guile/2.2/site-ccache:/gnu/store/8n8wwvbkarxqxkn0kc6p5iin0ywiidb0-guile-ssh-0.11.2/lib/guile/2.2/site-ccache
  GUILE_LOAD_PATH=/gnu/store/k6s1r0pamx0gih2d4mg87ypyz23h7rzq-profile/share/guile/site/2.2:/gnu/store/bcmf06k2n1pfwqkzpclvvc3w9jdfi71a-guile-json-0.6.0/share/guile/site/2.2:/gnu/store/jvsgj5l4lgdknari34rv29wv253n8jcl-gnutls-3.5.13/share/guile/site/2.2:/gnu/store/x4c2a0z0lf9zp9kgx96k5aplw4ihnak1-guile-git-0.0-4.951a32c/share/guile/site/2.2:/gnu/store/x8cwg5bm9y2dk1mrhisr63b5q98mbhhz-guile-bytestructures-20170402.91d042e/share/guile/site/2.2:/gnu/store/8n8wwvbkarxqxkn0kc6p5iin0ywiidb0-guile-ssh-0.11.2/share/guile/site/2.2

Something missing for sure.

So close to building again - I can almost feel it!

Pj

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: New ‘guix pull’ - guile-sqlite3 problem
  2018-07-12 12:35       ` New ‘guix pull’ - guile-sqlite3 problem Pjotr Prins
@ 2018-07-12 12:43         ` Pjotr Prins
  2018-07-18  5:32         ` Chris Marusich
  1 sibling, 0 replies; 29+ messages in thread
From: Pjotr Prins @ 2018-07-12 12:43 UTC (permalink / raw)
  To: Pjotr Prins; +Cc: guix-devel

After adding the paths it is fine. So environment is not picking them
up.

On Thu, Jul 12, 2018 at 02:35:29PM +0200, Pjotr Prins wrote:
> So I updated guix pull multiple times :) and both daemon and client
> are at
> 
>   guix (GNU Guix) ecba50bb79a49b317c4b1e718f4732b36438227f
> 
> Now I am creating an environment to build the source tree with
> 
>   env -i /bin/bash --login --noprofile --norc
>   guix environment guix --ad-hoc help2man git strace \
>     pkg-config less vim binutils coreutils grep guile guile-git guile-json gcc po4a guile-sqlite3 
> 
> Then I run the full monty after a git pull guix master:
> 
> 	gcc --version
> 	guile --version
> 	rm -rf autom4te.cache/ # to be sure
> 	make clean
> 	./bootstrap
> 	./configure --localstatedir=/var
> 	make clean    # to be really sure
> 	make clean-go # to be even surer
> 	time make
> 
> which stops in the configure step with
> 
> 	checking for pkg-config... /gnu/store/k6s1r0pamx0gih2d4mg87ypyz23h7rzq-profile/bin/pkg-config
> 	checking pkg-config is at least version 0.9.0... yes
> 	configure: checking for guile 2.2
> 	configure: found guile 2.2
> 	checking for guile-2.2... no
> 	checking for guile2.2... no
> 	checking for guile-2... no
> 	checking for guile2... no
> 	checking for guile... /gnu/store/k6s1r0pamx0gih2d4mg87ypyz23h7rzq-profile/bin/guile
> 	checking for Guile version >= 2.2... 2.2.3
> 	checking for guild... /gnu/store/k6s1r0pamx0gih2d4mg87ypyz23h7rzq-profile/bin/guild
> 	checking for guile-config... /gnu/store/k6s1r0pamx0gih2d4mg87ypyz23h7rzq-profile/bin/guile-config
> 	checking if (gnutls) is available... yes
> 	checking if (git) is available... yes
> 	checking if (json) is available... yes
> 	checking whether Guile-Sqlite3 is available and recent enough... no
> 	configure: error: A recent Guile-SQLite3 could not be found; please install it.
> 
> Erm. It is in the environment! What am I missing here? The PATHs may
> point at the problem
> 
>   GUILE_LOAD_COMPILED_PATH=/gnu/store/k6s1r0pamx0gih2d4mg87ypyz23h7rzq-profile/lib/guile/2.2/site-ccache:/gnu/store/k6s1r0pamx0gih2d4mg87ypyz23h7rzq-profile/share/guile/site/2.2:/gnu/store/bcmf06k2n1pfwqkzpclvvc3w9jdfi71a-guile-json-0.6.0/lib/guile/2.2/site-ccache:/gnu/store/jvsgj5l4lgdknari34rv29wv253n8jcl-gnutls-3.5.13/lib/guile/2.2/site-ccache:/gnu/store/x4c2a0z0lf9zp9kgx96k5aplw4ihnak1-guile-git-0.0-4.951a32c/lib/guile/2.2/site-ccache:/gnu/store/x8cwg5bm9y2dk1mrhisr63b5q98mbhhz-guile-bytestructures-20170402.91d042e/lib/guile/2.2/site-ccache:/gnu/store/8n8wwvbkarxqxkn0kc6p5iin0ywiidb0-guile-ssh-0.11.2/lib/guile/2.2/site-ccache
>   GUILE_LOAD_PATH=/gnu/store/k6s1r0pamx0gih2d4mg87ypyz23h7rzq-profile/share/guile/site/2.2:/gnu/store/bcmf06k2n1pfwqkzpclvvc3w9jdfi71a-guile-json-0.6.0/share/guile/site/2.2:/gnu/store/jvsgj5l4lgdknari34rv29wv253n8jcl-gnutls-3.5.13/share/guile/site/2.2:/gnu/store/x4c2a0z0lf9zp9kgx96k5aplw4ihnak1-guile-git-0.0-4.951a32c/share/guile/site/2.2:/gnu/store/x8cwg5bm9y2dk1mrhisr63b5q98mbhhz-guile-bytestructures-20170402.91d042e/share/guile/site/2.2:/gnu/store/8n8wwvbkarxqxkn0kc6p5iin0ywiidb0-guile-ssh-0.11.2/share/guile/site/2.2
> 
> Something missing for sure.
> 
> So close to building again - I can almost feel it!
> 
> Pj
> 

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: New ‘guix pull’
  2018-07-12 11:04   ` Pjotr Prins
  2018-07-12 11:12     ` Pjotr Prins
@ 2018-07-12 14:17     ` Ricardo Wurmus
  2018-07-12 14:20       ` Pjotr Prins
  1 sibling, 1 reply; 29+ messages in thread
From: Ricardo Wurmus @ 2018-07-12 14:17 UTC (permalink / raw)
  To: Pjotr Prins; +Cc: guix-devel


Pjotr Prins <pjotr.public12@thebird.nl> writes:

> On Thu, Jul 12, 2018 at 02:35:13AM -0700, Chris Marusich wrote:
>> ludo@gnu.org (Ludovic Courtès) writes:
>>
>> > I have just pushed a new ‘guix pull’.
>> >
>> > Feedback welcome!
>>
>> The biggest hiccup for me was that I didn't realize at first that I had
>> to run "guix pull" twice to upgrade from the old style "guix pull".
>> Anyway, after I finally did it, things have been working well.
>
> Yes. The other thing is that guix pull did not update my profile. So,
> I had to figure out which guix was installed in the store!

“guix pull” updates its own profile only.  It updates
~/.config/guix/current, so you need to use Guix from
~/.config/guix/current/bin.

--
Ricardo

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: New ‘guix pull’
  2018-07-12 14:17     ` New ‘guix pull’ Ricardo Wurmus
@ 2018-07-12 14:20       ` Pjotr Prins
  2018-07-12 14:29         ` Ricardo Wurmus
  0 siblings, 1 reply; 29+ messages in thread
From: Pjotr Prins @ 2018-07-12 14:20 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel

On Thu, Jul 12, 2018 at 04:17:32PM +0200, Ricardo Wurmus wrote:
> “guix pull” updates its own profile only.  It updates
> ~/.config/guix/current, so you need to use Guix from
> ~/.config/guix/current/bin.

And it says so after guix pull. It is easy to forget however.

Why don't we (also) add it to the default guix profile? To most users
this would make sense. No point in running guix pull if you don't want
to update guix itself - right?

Pj.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: New ‘guix pull’
  2018-07-12 14:20       ` Pjotr Prins
@ 2018-07-12 14:29         ` Ricardo Wurmus
  2018-07-12 16:44           ` Pjotr Prins
  2018-10-14 18:17           ` Pjotr Prins
  0 siblings, 2 replies; 29+ messages in thread
From: Ricardo Wurmus @ 2018-07-12 14:29 UTC (permalink / raw)
  To: Pjotr Prins; +Cc: guix-devel


Pjotr Prins <pjotr.public12@thebird.nl> writes:

> On Thu, Jul 12, 2018 at 04:17:32PM +0200, Ricardo Wurmus wrote:
>> “guix pull” updates its own profile only.  It updates
>> ~/.config/guix/current, so you need to use Guix from
>> ~/.config/guix/current/bin.
>
> And it says so after guix pull. It is easy to forget however.
>
> Why don't we (also) add it to the default guix profile? To most users
> this would make sense. No point in running guix pull if you don't want
> to update guix itself - right?

It does update Guix itself.  The “guix” package, however, should
generally not be installed into a user profile, because it is always
necessarily *older* than the version of Guix that you are using to
install it (unless you’re using “--with-source” to use a more recent
tarball).

--
Ricardo

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: New ‘guix pull’
  2018-07-12  9:35 ` Chris Marusich
  2018-07-12 11:04   ` Pjotr Prins
@ 2018-07-12 16:01   ` Ludovic Courtès
  2018-07-12 20:52     ` Brett Gilio
  1 sibling, 1 reply; 29+ messages in thread
From: Ludovic Courtès @ 2018-07-12 16:01 UTC (permalink / raw)
  To: Chris Marusich; +Cc: guix-devel

Hi Chris,

Thanks for your feedback (and apologies for the hiccups!).

Chris Marusich <cmmarusich@gmail.com> skribis:

> Thank you for your hard work on this improvement!  One of the reasons I
> have always been a little scared to run "guix pull" frequently is
> because it was difficult to roll back.  Now that the user-installed Guix
> is managed in a profile of sorts, it will probably be easy to add
> something like "guix pull --roll-back" to help people recover easily.

The manual currently recommends:

  guix package -p ~/.config/guix/current --roll-back

but we could (should?) add a roll-back option directly in ‘guix pull’.

Ludo’.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: New ‘guix pull’
  2018-07-12 14:29         ` Ricardo Wurmus
@ 2018-07-12 16:44           ` Pjotr Prins
  2018-07-13  8:39             ` New ‘guix pull’ /root/.config/current/bin/guix: Permission denied Pjotr Prins
  2018-07-13  8:41             ` New ‘guix pull’ Pjotr Prins
  2018-10-14 18:17           ` Pjotr Prins
  1 sibling, 2 replies; 29+ messages in thread
From: Pjotr Prins @ 2018-07-12 16:44 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel

On Thu, Jul 12, 2018 at 04:29:02PM +0200, Ricardo Wurmus wrote:
> 
> Pjotr Prins <pjotr.public12@thebird.nl> writes:
> 
> > On Thu, Jul 12, 2018 at 04:17:32PM +0200, Ricardo Wurmus wrote:
> >> “guix pull” updates its own profile only.  It updates
> >> ~/.config/guix/current, so you need to use Guix from
> >> ~/.config/guix/current/bin.
> >
> > And it says so after guix pull. It is easy to forget however.
> >
> > Why don't we (also) add it to the default guix profile? To most users
> > this would make sense. No point in running guix pull if you don't want
> > to update guix itself - right?
> 
> It does update Guix itself.  The “guix” package, however, should
> generally not be installed into a user profile, because it is always
> necessarily *older* than the version of Guix that you are using to
> install it (unless you’re using “--with-source” to use a more recent
> tarball).

Hmmm. I don't understand. I would think it the other way round: the
guix package you install is newer than the running daemon. But, no
matter. Maybe we should just accentuate that guix gets its own independent
profile. That I can understand ;). So it should *never* be in the user
profile. Not even by accident.

Pj.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: New ‘guix pull’
  2018-07-12 16:01   ` Ludovic Courtès
@ 2018-07-12 20:52     ` Brett Gilio
  0 siblings, 0 replies; 29+ messages in thread
From: Brett Gilio @ 2018-07-12 20:52 UTC (permalink / raw)
  To: guix-devel

Ludovico,

   I think it is a good idea to add roll-back to the guix pull with a 
flag of some sort. However, I would be wary of people unintentionally 
rolling-back packages for not understanding the usecase of such a 
feature. However, I suppose that we can not "idiot-proof" everything 
because they did not read the documentation.

Brett Gilio
brettg@posteo.net | bmg@member.fsf.org
Free Software -- Free Society!

On 07/12/2018 11:01 AM, Ludovic Courtès wrote:
> Hi Chris,
> 
> Thanks for your feedback (and apologies for the hiccups!).
> 
> Chris Marusich <cmmarusich@gmail.com> skribis:
> 
>> Thank you for your hard work on this improvement!  One of the reasons I
>> have always been a little scared to run "guix pull" frequently is
>> because it was difficult to roll back.  Now that the user-installed Guix
>> is managed in a profile of sorts, it will probably be easy to add
>> something like "guix pull --roll-back" to help people recover easily.
> 
> The manual currently recommends:
> 
>    guix package -p ~/.config/guix/current --roll-back
> 
> but we could (should?) add a roll-back option directly in ‘guix pull’.
> 
> Ludo’.
> 

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: New ‘guix pull’ /root/.config/current/bin/guix: Permission denied
  2018-07-12 16:44           ` Pjotr Prins
@ 2018-07-13  8:39             ` Pjotr Prins
  2018-07-13  9:08               ` Pjotr Prins
  2018-07-13 12:04               ` Ludovic Courtès
  2018-07-13  8:41             ` New ‘guix pull’ Pjotr Prins
  1 sibling, 2 replies; 29+ messages in thread
From: Pjotr Prins @ 2018-07-13  8:39 UTC (permalink / raw)
  To: guix-devel

There are still some rough edges and I am stuck again. Running daemon:

  /root/.config/current/bin/guix-daemon --build-users-group=guixbuild --version
  guix-daemon (GNU Guix) 0.15.0-1.4876bc8

Running client as normal user

  ~/.config/guix/current/bin/guix --version
  guix (GNU Guix) ecba50bb79a49b317c4b1e718f4732b36438227f

(which is the latest pull) 

and

  ~/.config/guix/current/bin/guix pull

Fails to build with below /gnu/store/8ahlc84zaj0iw9jpsdpa9wx4ms0s9cma-guix-daemon-0.15.0-1.4876bc8/libexec/guix/download: line 8: /root/.config/current/bin/guix: Permission denied

This is a blocker since I can't build from source either. /root/.config/current/bin/guix exists and gives

     guix (GNU Guix) ecba50bb79a49b317c4b1e718f4732b36438227f

Apparently the user client need to access /root. What to do? 

Note my environment is pretty bare.

Pj.


guile: warning: failed to install locale
hint: Consider installing the `glibc-utf8-locales' or `glibc-locales' package and defining `GUIX_LOCPATH', along these lines:

     guix package -i glibc-utf8-locales
     export GUIX_LOCPATH="$HOME/.guix-profile/lib/locale"

See the "Application Setup" section in the manual, for more info.


substitute: /gnu/store/rbrandv7anzjxqkr40d7fkanzssslk4b-bash-minimal-4.4.19/bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_GB.UTF-8)
substitute: guile: warning: failed to install locale
substitute: hint: Consider installing the `glibc-utf8-locales' or `glibc-locales' package and
substitute: defining `GUIX_LOCPATH', along these lines:
substitute:
substitute:      guix package -i glibc-utf8-locales
substitute:      export GUIX_LOCPATH="$HOME/.guix-profile/lib/locale"
substitute:
substitute: See the "Application Setup" section in the manual, for more info.
substitute:
substitute:
Updating from Git repository at 'https://git.savannah.gnu.org/git/guix.git'...
Building from Git commit 9286c2950494b110e12d58d4ebd693d614120afe...
guile: warning: failed to install locale
Computing Guix derivation for 'x86_64-linux'... |/gnu/store/rbrandv7anzjxqkr40d7fkanzssslk4b-bash-minimal-4.4.19/bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_GB.UTF-8)
/gnu/store/8ahlc84zaj0iw9jpsdpa9wx4ms0s9cma-guix-daemon-0.15.0-1.4876bc8/libexec/guix/download: line 8: /root/.config/current/bin/guix: Permission denied
/gnu/store/8ahlc84zaj0iw9jpsdpa9wx4ms0s9cma-guix-daemon-0.15.0-1.4876bc8/libexec/guix/download: line 8: exec: /root/.config/current/bin/guix: cannot execute: Permission denied
builder for `/gnu/store/j3swd19y4wzv6nrr13bv73ipndwmd0wb-curl-7.61.0.tar.xz.drv' failed with exit code 126
cannot build derivation `/gnu/store/6wvy70rjjmn2w8pfzq7hyylvh88rx3rw-curl-7.61.0.drv': 1 dependencies couldn't be built
Backtrace:
          18 (primitive-load "/gnu/store/gc99a43pkmx9c47naa667n0yin3?")
In ice-9/eval.scm:
    155:9 17 (_ _)
    159:9 16 (_ #(#(#(#(#(#(#(#(#(#(#(?) ?) ?) ?) ?) ?) ?) ?) ?) ?) ?))
In ./guix/store.scm:
  1455:24 15 (run-with-store _ _ #:guile-for-build _ #:system _ # _)
In ./guix/gexp.scm:
    670:2 14 (_ _)
In ./guix/monads.scm:
    485:9 13 (_ _)
In ./guix/gexp.scm:
   542:22 12 (_ _)
    670:2 11 (_ _)
In ./guix/monads.scm:
    485:9 10 (_ _)
In ./guix/gexp.scm:
   542:22  9 (_ _)
    670:2  8 (_ _)
In ./guix/monads.scm:
    485:9  7 (_ _)
In ./guix/gexp.scm:
   542:22  6 (_ _)
In ./guix/store.scm:
  1354:38  5 (_ #<build-daemon 256.97 1f27fa0>)
In ./guix/packages.scm:
   878:14  4 (cache! #<weak-table 447/883> #<package guile-git@0.1.?> ?)
In unknown file:
           3 (_ #<procedure thunk ()> #<procedure list _> #<undefined>)
In ./guix/packages.scm:
  1202:22  2 (thunk)
  1135:25  1 (bag->derivation #<build-daemon 256.97 1f27fa0> #<<bag?> ?)
In srfi/srfi-1.scm:
   592:17  0 (map1 (("source" #<origin #<<git-reference> url: "?>) ?))

srfi/srfi-1.scm:592:17: In procedure map1:
Throw to key `srfi-34' with args `(#<condition &nix-protocol-error [message: "build of `/gnu/store/6wvy70rjjmn2w8pfzq7hyylvh88rx3rw-curl-7.61.0.drv' failed" status: 1] 4917540>)'.
Backtrace:
           9 (primitive-load "/home/pjotr/.config/guix/current/bin/g?")
In guix/ui.scm:
  1579:12  8 (run-guix-command _ . _)
In ice-9/boot-9.scm:
    829:9  7 (catch _ _ #<procedure 7f05d5f5f9b8 at guix/ui.scm:611?> ?)
    829:9  6 (catch _ _ #<procedure 7f05d5f5f9d0 at guix/ui.scm:729?> ?)
    829:9  5 (catch _ _ #<procedure 7f05d2bcb7a0 at guix/scripts/pu?> ?)
In guix/scripts/pull.scm:
   391:22  4 (_)
In guix/store.scm:
  1455:24  3 (run-with-store _ _ #:guile-for-build _ #:system _ # _)
In guix/scripts/pull.scm:
    239:2  2 (_ _)
In ice-9/eval.scm:
   191:27  1 (_ #(#(#<directory (build-self) 2c03820> #<procedu?>) ?))
In unknown file:
           0 (scm-error misc-error #f "~A ~S" ("invalid build re?" ?) ?)

ERROR: In procedure scm-error:
invalid build result (#<derivation /gnu/store/cdvhkxf9vrk4k2rdxhjmwv0250m88s0x-compute-guix-derivation.drv => /gnu/store/gc99a43pkmx9c47naa667n0yin3r0f7h-compute-guix-derivation 364a550> "")


On Thu, Jul 12, 2018 at 06:44:56PM +0200, Pjotr Prins wrote:
> On Thu, Jul 12, 2018 at 04:29:02PM +0200, Ricardo Wurmus wrote:
> > 
> > Pjotr Prins <pjotr.public12@thebird.nl> writes:
> > 
> > > On Thu, Jul 12, 2018 at 04:17:32PM +0200, Ricardo Wurmus wrote:
> > >> “guix pull” updates its own profile only.  It updates
> > >> ~/.config/guix/current, so you need to use Guix from
> > >> ~/.config/guix/current/bin.
> > >
> > > And it says so after guix pull. It is easy to forget however.
> > >
> > > Why don't we (also) add it to the default guix profile? To most users
> > > this would make sense. No point in running guix pull if you don't want
> > > to update guix itself - right?
> > 
> > It does update Guix itself.  The “guix” package, however, should
> > generally not be installed into a user profile, because it is always
> > necessarily *older* than the version of Guix that you are using to
> > install it (unless you’re using “--with-source” to use a more recent
> > tarball).
> 
> Hmmm. I don't understand. I would think it the other way round: the
> guix package you install is newer than the running daemon. But, no
> matter. Maybe we should just accentuate that guix gets its own independent
> profile. That I can understand ;). So it should *never* be in the user
> profile. Not even by accident.
> 
> Pj.
> 

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: New ‘guix pull’
  2018-07-12 16:44           ` Pjotr Prins
  2018-07-13  8:39             ` New ‘guix pull’ /root/.config/current/bin/guix: Permission denied Pjotr Prins
@ 2018-07-13  8:41             ` Pjotr Prins
  1 sibling, 0 replies; 29+ messages in thread
From: Pjotr Prins @ 2018-07-13  8:41 UTC (permalink / raw)
  To: Pjotr Prins; +Cc: guix-devel

On Thu, Jul 12, 2018 at 06:44:56PM +0200, Pjotr Prins wrote:
> On Thu, Jul 12, 2018 at 04:29:02PM +0200, Ricardo Wurmus wrote:
> > 
> > Pjotr Prins <pjotr.public12@thebird.nl> writes:
> > 
> > > On Thu, Jul 12, 2018 at 04:17:32PM +0200, Ricardo Wurmus wrote:
> > >> “guix pull” updates its own profile only.  It updates
> > >> ~/.config/guix/current, so you need to use Guix from
> > >> ~/.config/guix/current/bin.
> > >
> > > And it says so after guix pull. It is easy to forget however.
> > >
> > > Why don't we (also) add it to the default guix profile? To most users
> > > this would make sense. No point in running guix pull if you don't want
> > > to update guix itself - right?
> > 
> > It does update Guix itself.  The “guix” package, however, should
> > generally not be installed into a user profile, because it is always
> > necessarily *older* than the version of Guix that you are using to
> > install it (unless you’re using “--with-source” to use a more recent
> > tarball).
> 
> Hmmm. I don't understand. I would think it the other way round: the
> guix package you install is newer than the running daemon. But, no
> matter. Maybe we should just accentuate that guix gets its own independent
> profile. That I can understand ;). So it should *never* be in the user
> profile. Not even by accident.

When I ask guix pull version for the environment it gives me my profile...
  
~/.config/guix//current/bin/guix package --search-paths

  export PATH="/home/pjotr/.guix-profile/bin:/home/pjotr/.guix-profile/sbin"
  export GUIX_LOCPATH="/home/pjotr/.guix-profile/lib/locale"
  (...)

Should it not include ~/.config/guix/current/bin to locate guix?

Maybe I am confused, but if I am confused there will be more confused people ;)

Pj

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: New ‘guix pull’ /root/.config/current/bin/guix: Permission denied
  2018-07-13  8:39             ` New ‘guix pull’ /root/.config/current/bin/guix: Permission denied Pjotr Prins
@ 2018-07-13  9:08               ` Pjotr Prins
  2018-07-13  9:48                 ` Pjotr Prins
  2018-07-13 12:04               ` Ludovic Courtès
  1 sibling, 1 reply; 29+ messages in thread
From: Pjotr Prins @ 2018-07-13  9:08 UTC (permalink / raw)
  To: Pjotr Prins; +Cc: guix-devel

On Fri, Jul 13, 2018 at 10:39:02AM +0200, Pjotr Prins wrote:
> This is a blocker since I can't build from source either. /root/.config/current/bin/guix exists and gives
> 
>      guix (GNU Guix) ecba50bb79a49b317c4b1e718f4732b36438227f
> 
> Apparently the user client need to access /root. What to do? 

Another thing we may want to change is /root/.config/current to
/root/.config/guix/current like in the $HOME/.config/guix/current.

So, I am trying all options, even when running guix-daemon from
/home/pjotr/.config/guix/current i get the same error. E.g.,

  /home/pjotr/.config/guix/current/bin/guix-daemon --build-users-group=guixbuild

The environment for the daemon is

root@penguin2:~/.config# set
  BASH=/bin/bash
  PATH=/home/pjotr/.config/guix/current/bin
  UID=0
  USER=root
  USERNAME=root

Running the client with

  env GUIX_PACKAGE_PATH=../guix-bioinformatics/ /home/pjotr/.config/guix/current/bin/guix package -i gemma-dev-env --substitute-urls="https://berlin.guixsd.org https://mirror.hydra.gnu.org" -p ~/opt/gemma-dev-env 

(just so I have to build something)

It appears the daemon in /home/pjotr/.config/guix/current/bin/guix-daemon wants to pick up 
 
  /gnu/store/8ahlc84zaj0iw9jpsdpa9wx4ms0s9cma-guix-daemon-0.15.0-1.4876bc8/libexec/guix/download: line 8: /root/.config/current/bin/guix: Permission denied
  /gnu/store/8ahlc84zaj0iw9jpsdpa9wx4ms0s9cma-guix-daemon-0.15.0-1.4876bc8/libexec/guix/download: line 8: exec: /root/.config/current/bin/guix: cannot execute: Permission denied

Not sure what is happening here. Why is it looking in /root? And why is it
using a different non-pull version of guix
/gnu/store/8ahlc84zaj0iw9jpsdpa9wx4ms0s9cma-guix-daemon-0.15.0-1.4876bc8 which
is different from the one I am running? How does it look for this tool and find
it in the wrong path?

Even when symlinking /root/.config/current -> /home/pjotr/.config/guix/current I get the same error.

Pj.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: New ‘guix pull’ /root/.config/current/bin/guix: Permission denied
  2018-07-13  9:08               ` Pjotr Prins
@ 2018-07-13  9:48                 ` Pjotr Prins
  2018-07-13  9:54                   ` Pjotr Prins
  0 siblings, 1 reply; 29+ messages in thread
From: Pjotr Prins @ 2018-07-13  9:48 UTC (permalink / raw)
  To: Pjotr Prins; +Cc: guix-devel

grep 8ahlc84zaj0iw9jpsdpa9wx4ms0s9cma -R ~/.config/guix/
Binary file /home/pjotr/.config/guix/current/bin/guix-daemon matches
Binary file /home/pjotr/.config/guix/current-2-link/bin/guix-daemon matches
Binary file /home/pjotr/.config/guix/current-3-link/bin/guix-daemon matches

grep 8ahlc84zaj0iw9jpsdpa9wx4ms0s9cma -R /gnu/store/a5cixasz02ynhppna33zxymxahp3vl13-guix-ecba50bb7
Binary file /gnu/store/a5cixasz02ynhppna33zxymxahp3vl13-guix-ecba50bb7/bin/guix-daemon matches

Note ecba50bb7 is the guix installed with guix pull earlier... Weirness.

Pj.

On Fri, Jul 13, 2018 at 11:08:44AM +0200, Pjotr Prins wrote:
> On Fri, Jul 13, 2018 at 10:39:02AM +0200, Pjotr Prins wrote:
> > This is a blocker since I can't build from source either. /root/.config/current/bin/guix exists and gives
> > 
> >      guix (GNU Guix) ecba50bb79a49b317c4b1e718f4732b36438227f
> > 
> > Apparently the user client need to access /root. What to do? 
> 
> Another thing we may want to change is /root/.config/current to
> /root/.config/guix/current like in the $HOME/.config/guix/current.
> 
> So, I am trying all options, even when running guix-daemon from
> /home/pjotr/.config/guix/current i get the same error. E.g.,
> 
>   /home/pjotr/.config/guix/current/bin/guix-daemon --build-users-group=guixbuild
> 
> The environment for the daemon is
> 
> root@penguin2:~/.config# set
>   BASH=/bin/bash
>   PATH=/home/pjotr/.config/guix/current/bin
>   UID=0
>   USER=root
>   USERNAME=root
> 
> Running the client with
> 
>   env GUIX_PACKAGE_PATH=../guix-bioinformatics/ /home/pjotr/.config/guix/current/bin/guix package -i gemma-dev-env --substitute-urls="https://berlin.guixsd.org https://mirror.hydra.gnu.org" -p ~/opt/gemma-dev-env 
> 
> (just so I have to build something)
> 
> It appears the daemon in /home/pjotr/.config/guix/current/bin/guix-daemon wants to pick up 
>  
>   /gnu/store/8ahlc84zaj0iw9jpsdpa9wx4ms0s9cma-guix-daemon-0.15.0-1.4876bc8/libexec/guix/download: line 8: /root/.config/current/bin/guix: Permission denied
>   /gnu/store/8ahlc84zaj0iw9jpsdpa9wx4ms0s9cma-guix-daemon-0.15.0-1.4876bc8/libexec/guix/download: line 8: exec: /root/.config/current/bin/guix: cannot execute: Permission denied
> 
> Not sure what is happening here. Why is it looking in /root? And why is it
> using a different non-pull version of guix
> /gnu/store/8ahlc84zaj0iw9jpsdpa9wx4ms0s9cma-guix-daemon-0.15.0-1.4876bc8 which
> is different from the one I am running? How does it look for this tool and find
> it in the wrong path?
> 
> Even when symlinking /root/.config/current -> /home/pjotr/.config/guix/current I get the same error.
> 
> Pj.
> 

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: New ‘guix pull’ /root/.config/current/bin/guix: Permission denied
  2018-07-13  9:48                 ` Pjotr Prins
@ 2018-07-13  9:54                   ` Pjotr Prins
  0 siblings, 0 replies; 29+ messages in thread
From: Pjotr Prins @ 2018-07-13  9:54 UTC (permalink / raw)
  To: Pjotr Prins; +Cc: guix-devel

On Fri, Jul 13, 2018 at 11:48:01AM +0200, Pjotr Prins wrote:
> grep 8ahlc84zaj0iw9jpsdpa9wx4ms0s9cma -R ~/.config/guix/
> Binary file /home/pjotr/.config/guix/current/bin/guix-daemon matches
> Binary file /home/pjotr/.config/guix/current-2-link/bin/guix-daemon matches
> Binary file /home/pjotr/.config/guix/current-3-link/bin/guix-daemon matches
> 
> grep 8ahlc84zaj0iw9jpsdpa9wx4ms0s9cma -R /gnu/store/a5cixasz02ynhppna33zxymxahp3vl13-guix-ecba50bb7
> Binary file /gnu/store/a5cixasz02ynhppna33zxymxahp3vl13-guix-ecba50bb7/bin/guix-daemon matches
> 
> Note ecba50bb7 is the guix installed with guix pull earlier... Weirness.

Reverted to an older daemon and now builds fine.

  /gnu/store/7vxv5s6lpc5p4y2s4zm433w0865rp9vb-guix-0.15.0-1.4876bc8/bin/bin/guix-daemon --build-users-group=guixbuild

Pj.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: New ‘guix pull’ /root/.config/current/bin/guix: Permission denied
  2018-07-13  8:39             ` New ‘guix pull’ /root/.config/current/bin/guix: Permission denied Pjotr Prins
  2018-07-13  9:08               ` Pjotr Prins
@ 2018-07-13 12:04               ` Ludovic Courtès
  2018-07-13 15:24                 ` Pjotr Prins
  1 sibling, 1 reply; 29+ messages in thread
From: Ludovic Courtès @ 2018-07-13 12:04 UTC (permalink / raw)
  To: Pjotr Prins; +Cc: guix-devel

Hi Pjotr,

Pjotr Prins <pjotr.public12@thebird.nl> skribis:

> Fails to build with below /gnu/store/8ahlc84zaj0iw9jpsdpa9wx4ms0s9cma-guix-daemon-0.15.0-1.4876bc8/libexec/guix/download: line 8: /root/.config/current/bin/guix: Permission denied

Could you figure out why this is the case, perhaps by running attaching
“strace -f” to guix-daemon?

guix-daemon runs as root, so I wonder why we’re getting EACCES for
/root/.config/current/bin/guix.

Thanks for reporting the issue,
Ludo’.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: New ‘guix pull’ /root/.config/current/bin/guix: Permission denied
  2018-07-13 12:04               ` Ludovic Courtès
@ 2018-07-13 15:24                 ` Pjotr Prins
  0 siblings, 0 replies; 29+ messages in thread
From: Pjotr Prins @ 2018-07-13 15:24 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

On Fri, Jul 13, 2018 at 02:04:22PM +0200, Ludovic Courtès wrote:
> guix-daemon runs as root, so I wonder why we’re getting EACCES for
> /root/.config/current/bin/guix.
> 
> Thanks for reporting the issue

Thanks Ludo, when I see it again I'll run strace and report on the
bug list. I rolled back to April to be able to continue. Fortunately
Guix does that.

Pj.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: New ‘guix pull’ - guile-sqlite3 problem
  2018-07-12 12:35       ` New ‘guix pull’ - guile-sqlite3 problem Pjotr Prins
  2018-07-12 12:43         ` Pjotr Prins
@ 2018-07-18  5:32         ` Chris Marusich
  2018-07-19  7:22           ` Pjotr Prins
  1 sibling, 1 reply; 29+ messages in thread
From: Chris Marusich @ 2018-07-18  5:32 UTC (permalink / raw)
  To: Pjotr Prins; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 1718 bytes --]

Pjotr Prins <pjotr.public12@thebird.nl> writes:

> So I updated guix pull multiple times :) and both daemon and client
> are at
>
>   guix (GNU Guix) ecba50bb79a49b317c4b1e718f4732b36438227f
>
> Now I am creating an environment to build the source tree with
>
>   env -i /bin/bash --login --noprofile --norc
>   guix environment guix --ad-hoc help2man git strace \
>     pkg-config less vim binutils coreutils grep guile guile-git guile-json gcc po4a guile-sqlite3 

Weird.  Did you try just "guix environment guix"?  That usually works
for me, and it should pull in all the dependencies required to build
Guix from a Git checkout.  It's strange, though, that guile-sqlite3 is
supposedly missing, since you did include it in the --ad-hoc list.

In that environment, when you start a Guile REPL, can you successfully
load the module with (use-modules (sqlite3))?

> Then I run the full monty after a git pull guix master:
>
> 	gcc --version
> 	guile --version
> 	rm -rf autom4te.cache/ # to be sure
> 	make clean
> 	./bootstrap
> 	./configure --localstatedir=/var
> 	make clean    # to be really sure
> 	make clean-go # to be even surer
> 	time make

I'm not sure this will actually clean everything.  To actually clean
everything, "git clone" a new repository as a test.  Or, try this
(warning: this will remove ALL untracked files and undo ALL changes):

    make distclean
    git clean -dfx
    git reset --hard

The only other thing I can think to clean is your Guile ccache (although
I don't think it's likely the cause of the problem), which I believe you
can safely do with the following command:

    rm -rf ~/.cache/guile/ccache

Hope that helps!

-- 
Chris

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: New ‘guix pull’ - guile-sqlite3 problem
  2018-07-18  5:32         ` Chris Marusich
@ 2018-07-19  7:22           ` Pjotr Prins
  2018-07-19  8:12             ` Chris Marusich
  0 siblings, 1 reply; 29+ messages in thread
From: Pjotr Prins @ 2018-07-19  7:22 UTC (permalink / raw)
  To: Chris Marusich; +Cc: guix-devel

On Tue, Jul 17, 2018 at 10:32:25PM -0700, Chris Marusich wrote:
> > Now I am creating an environment to build the source tree with
> >
> >   env -i /bin/bash --login --noprofile --norc
> >   guix environment guix --ad-hoc help2man git strace \
> >     pkg-config less vim binutils coreutils grep guile guile-git guile-json gcc po4a guile-sqlite3 
> 
> Weird.  Did you try just "guix environment guix"?  That usually works
> for me, and it should pull in all the dependencies required to build
> Guix from a Git checkout.  It's strange, though, that guile-sqlite3 is
> supposedly missing, since you did include it in the --ad-hoc list.

guix environment guix will only work if the daemon is up-to-date
(right?). I had to get that upgrade sorted, that was the pain. 

With regards to guile-sqlite3 it was a path that was missing. Maybe it
got corrected in later versions and I was just unlucky.

Pj.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: New ‘guix pull’ - guile-sqlite3 problem
  2018-07-19  7:22           ` Pjotr Prins
@ 2018-07-19  8:12             ` Chris Marusich
  0 siblings, 0 replies; 29+ messages in thread
From: Chris Marusich @ 2018-07-19  8:12 UTC (permalink / raw)
  To: Pjotr Prins; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 1336 bytes --]

Pjotr Prins <pjotr.public12@thebird.nl> writes:

> guix environment guix will only work if the daemon is up-to-date
> (right?). I had to get that upgrade sorted, that was the pain. 

I think "guix environment guix" should drop you into an environment
where the guix package's inputs are available, regardless of what
version of the daemon you're using.  What matters most is the guix
package definition, since it determines the inputs.

Of course, using a version of guix (the package definition, or the
supporting Guile code) that is far removed in time from the Guix source
you're trying to compile will make it less likely to succeed.  I recall
having quite a hard time trying to compile Guix 0.14.0 from source using
a "guix environment guix" environment that was built by a Guix from an
old version, something around 0.10.0 or so.  Too much changed.

Likewise, using a guix-daemon from sufficiently far in the past or
future (compared to the guix client-side code you're running) might also
cause problems.  However, since the guix-daemon and the protocols it
uses change less frequently, it's less likely to cause problems.

> With regards to guile-sqlite3 it was a path that was missing. Maybe it
> got corrected in later versions and I was just unlucky.

Glad to hear you got it working!

-- 
Chris

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: New ‘guix pull’
  2018-07-12 14:29         ` Ricardo Wurmus
  2018-07-12 16:44           ` Pjotr Prins
@ 2018-10-14 18:17           ` Pjotr Prins
  2018-10-15 10:14             ` Ludovic Courtès
  1 sibling, 1 reply; 29+ messages in thread
From: Pjotr Prins @ 2018-10-14 18:17 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel

Just a quick thank you to all Guix developers. 

Today I did the bi-annual  full update of the Genenetwork graph - the
webservice we run - and the process was incredibly smooth. Much better
than previous times. I also have the impression that everything runs
faster. Nice colors too :). 

It is starting to feel polished.

Pj.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: New ‘guix pull’
  2018-10-14 18:17           ` Pjotr Prins
@ 2018-10-15 10:14             ` Ludovic Courtès
  0 siblings, 0 replies; 29+ messages in thread
From: Ludovic Courtès @ 2018-10-15 10:14 UTC (permalink / raw)
  To: Pjotr Prins; +Cc: guix-devel

Pjotr Prins <pjotr.public12@thebird.nl> skribis:

> Just a quick thank you to all Guix developers. 
>
> Today I did the bi-annual  full update of the Genenetwork graph - the
> webservice we run - and the process was incredibly smooth. Much better
> than previous times. I also have the impression that everything runs
> faster. Nice colors too :). 
>
> It is starting to feel polished.

Heheh, thanks for the kind words, positive feedback is always helpful!

Ludo’.

^ permalink raw reply	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2018-10-15 10:15 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-06-09 10:16 New ‘guix pull’ Ludovic Courtès
2018-06-09 14:25 ` New ‘guix pull’ dosen’t update the guix manual in GuixSD 宋文武
2018-06-10 19:33   ` Ludovic Courtès
2018-06-11 11:27     ` 宋文武
2018-06-12 13:54       ` Ludovic Courtès
2018-07-08 17:31 ` New ‘guix pull’ Pjotr Prins
2018-07-12  9:35 ` Chris Marusich
2018-07-12 11:04   ` Pjotr Prins
2018-07-12 11:12     ` Pjotr Prins
2018-07-12 12:35       ` New ‘guix pull’ - guile-sqlite3 problem Pjotr Prins
2018-07-12 12:43         ` Pjotr Prins
2018-07-18  5:32         ` Chris Marusich
2018-07-19  7:22           ` Pjotr Prins
2018-07-19  8:12             ` Chris Marusich
2018-07-12 14:17     ` New ‘guix pull’ Ricardo Wurmus
2018-07-12 14:20       ` Pjotr Prins
2018-07-12 14:29         ` Ricardo Wurmus
2018-07-12 16:44           ` Pjotr Prins
2018-07-13  8:39             ` New ‘guix pull’ /root/.config/current/bin/guix: Permission denied Pjotr Prins
2018-07-13  9:08               ` Pjotr Prins
2018-07-13  9:48                 ` Pjotr Prins
2018-07-13  9:54                   ` Pjotr Prins
2018-07-13 12:04               ` Ludovic Courtès
2018-07-13 15:24                 ` Pjotr Prins
2018-07-13  8:41             ` New ‘guix pull’ Pjotr Prins
2018-10-14 18:17           ` Pjotr Prins
2018-10-15 10:14             ` Ludovic Courtès
2018-07-12 16:01   ` Ludovic Courtès
2018-07-12 20:52     ` Brett Gilio

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).