all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* "guix-latest" differs when two users run "guix pull" from same commit
@ 2017-11-15 22:58 Chris Marusich
  2017-11-16 16:08 ` Ludovic Courtès
  0 siblings, 1 reply; 7+ messages in thread
From: Chris Marusich @ 2017-11-15 22:58 UTC (permalink / raw)
  To: help-guix

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

Hi,

When two users run "guix pull" using the same commit, two different
versions of "guix-latest" get built.  This surprised me, and in any case
it seems inefficient to build the same version of Guix two times.  Why
do two different derivations get built?

Here's an invocation of "guix pull" as an unprivileged user:

--8<---------------cut here---------------start------------->8---
$ guix pull
...
Building from Git commit ed0f9f53abef57b9f33d3b2eada40375894bdff6...
...
The following derivation will be built:
   /gnu/store/m3x8069x5aspc29m9ay7idndz0kpfxlb-guix-latest.drv
copying and compiling to '/gnu/store/dn13gs9w16h5w6l77pnpbclqxnbyhh4m-guix-latest' with Guile 2.2.2...
--8<---------------cut here---------------end--------------->8---

And here's an invocation of "guix pull" as root:

--8<---------------cut here---------------start------------->8---
# guix pull
...
Building from Git commit ed0f9f53abef57b9f33d3b2eada40375894bdff6...
...
The following derivation will be built:
   /gnu/store/675pz9f4qz9dd4jikzcgzv62kjrxfhmg-guix-latest.drv
copying and compiling to '/gnu/store/cvc0rf65s3mjw9rjps80ram3898qdws3-guix-latest' with Guile 2.2.2...
--8<---------------cut here---------------end--------------->8---

I am surprised that these two invocations of "guix pull" build different
derivations.  I understand that the overall "guix pull" action requires
side effects outside of the store which will be different depending on
who invoked the command (e.g., to update the $HOME/.config/guix/latest
symlink), but that stuff isn't performed by a derivation.  I expect two
derivations that build Guix (or any software component) from the same
source to be identical, so I am surprised.

I have looked at the source code for "guix pull," and I cannot find any
obvious reason why the derivations should differ.  Does anyone know why
they differ?

-- 
Chris

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

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

* Re: "guix-latest" differs when two users run "guix pull" from same commit
  2017-11-15 22:58 "guix-latest" differs when two users run "guix pull" from same commit Chris Marusich
@ 2017-11-16 16:08 ` Ludovic Courtès
  2017-11-22  3:53   ` Chris Marusich
  0 siblings, 1 reply; 7+ messages in thread
From: Ludovic Courtès @ 2017-11-16 16:08 UTC (permalink / raw)
  To: Chris Marusich; +Cc: help-guix

Chris Marusich <cmmarusich@gmail.com> skribis:

> When two users run "guix pull" using the same commit, two different
> versions of "guix-latest" get built.  This surprised me, and in any case
> it seems inefficient to build the same version of Guix two times.  Why
> do two different derivations get built?

That’s a bug!  :-)

> Here's an invocation of "guix pull" as an unprivileged user:
>
> $ guix pull
> ...
> Building from Git commit ed0f9f53abef57b9f33d3b2eada40375894bdff6...
> ...
> The following derivation will be built:
>    /gnu/store/m3x8069x5aspc29m9ay7idndz0kpfxlb-guix-latest.drv
> copying and compiling to '/gnu/store/dn13gs9w16h5w6l77pnpbclqxnbyhh4m-guix-latest' with Guile 2.2.2...
>
>
> And here's an invocation of "guix pull" as root:
>
> # guix pull
> ...
> Building from Git commit ed0f9f53abef57b9f33d3b2eada40375894bdff6...
> ...
> The following derivation will be built:
>    /gnu/store/675pz9f4qz9dd4jikzcgzv62kjrxfhmg-guix-latest.drv
> copying and compiling to '/gnu/store/cvc0rf65s3mjw9rjps80ram3898qdws3-guix-latest' with Guile 2.2.2...

Can you compare the two ‘guix-latest’ outputs with ‘diff -r’?  I’m
guessing the difference stems from (guix config).

Thanks,
Ludo’.

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

* Re: "guix-latest" differs when two users run "guix pull" from same commit
  2017-11-16 16:08 ` Ludovic Courtès
@ 2017-11-22  3:53   ` Chris Marusich
  2017-12-08  6:57     ` Chris Marusich
  0 siblings, 1 reply; 7+ messages in thread
From: Chris Marusich @ 2017-11-22  3:53 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: help-guix


[-- Attachment #1.1: Type: text/plain, Size: 868 bytes --]

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

> Chris Marusich <cmmarusich@gmail.com> skribis:
>
>> When two users run "guix pull" using the same commit, two different
>> versions of "guix-latest" get built.  This surprised me, and in any case
>> it seems inefficient to build the same version of Guix two times.  Why
>> do two different derivations get built?
>
> That’s a bug!  :-)

I see!  Nice to know my suspicions were correct.

> Can you compare the two ‘guix-latest’ outputs with ‘diff -r’?  I’m
> guessing the difference stems from (guix config).

I've attached the output of the following command:

  diff -r /home/marusich/.config/guix/latest /root/.config/guix/latest

Note that although these two "guix-latest" were built from the same
commit, that commit is NOT the one mentioned earlier in this email
thread.

-- 
Chris

[-- Attachment #1.2: guix-pull-diff --]
[-- Type: application/octet-stream, Size: 1778 bytes --]

Binary files /home/marusich/.config/guix/latest/gnu/services/version-control.go and /root/.config/guix/latest/gnu/services/version-control.go differ
Binary files /home/marusich/.config/guix/latest/gnu/services/virtualization.go and /root/.config/guix/latest/gnu/services/virtualization.go differ
Binary files /home/marusich/.config/guix/latest/guix/config.go and /root/.config/guix/latest/guix/config.go differ
diff -r /home/marusich/.config/guix/latest/guix/config.scm /root/.config/guix/latest/guix/config.scm
97c97
<   "/gnu/store/qfzl5frp52wdz1vbdj958sz35yfl94xi-libgcrypt-1.8.1/lib/libgcrypt")
---
>   "/gnu/store/1hd2i91mmlswanxla1mm0zkq33picw03-libgcrypt-1.8.1/lib/libgcrypt")
100c100
<   "/gnu/store/navpkpm1jf6zf8zmi54wl5w3b2ddv1sw-zlib-1.2.11/lib/libz")
---
>   "/gnu/store/ckdvl3frzai5nsr93apyn6gxi5papicb-zlib-1.2.11/lib/libz")
106c106
<   "/gnu/store/i1xjwb58m0zs33328zihp3lwfg2d6v59-gzip-1.8/bin/gzip")
---
>   "/gnu/store/cpw66g55cccknp99a7xwa2b7hgfja9fz-gzip-1.8/bin/gzip")
109c109
<   "/gnu/store/j8hrhxjp503ch60xlbalrrd4i18pgf79-bzip2-1.0.6/bin/bzip2")
---
>   "/gnu/store/nzwj8mcq63y63bnahiz975q0b5x0swk7-bzip2-1.0.6/bin/bzip2")
112c112
<   "/gnu/store/9cgv5prf1prqf75dwna4j7824286imyx-xz-5.2.2/bin/xz")
---
>   "/gnu/store/75apicvxhy7v38ag52qh6wpm4k8y1bab-xz-5.2.2/bin/xz")
Binary files /home/marusich/.config/guix/latest/guix/import/cabal.go and /root/.config/guix/latest/guix/import/cabal.go differ
Binary files /home/marusich/.config/guix/latest/guix/scripts/offload.go and /root/.config/guix/latest/guix/scripts/offload.go differ
Binary files /home/marusich/.config/guix/latest/guix/store.go and /root/.config/guix/latest/guix/store.go differ
Binary files /home/marusich/.config/guix/latest/guix/zlib.go and /root/.config/guix/latest/guix/zlib.go differ

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

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

* Re: "guix-latest" differs when two users run "guix pull" from same commit
  2017-11-22  3:53   ` Chris Marusich
@ 2017-12-08  6:57     ` Chris Marusich
  2017-12-08 10:44       ` Ludovic Courtès
  2018-01-07  2:17       ` Mike Gerwitz
  0 siblings, 2 replies; 7+ messages in thread
From: Chris Marusich @ 2017-12-08  6:57 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: help-guix

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

Chris Marusich <cmmarusich@gmail.com> writes:

> ludo@gnu.org (Ludovic Courtès) writes:
>
>> Chris Marusich <cmmarusich@gmail.com> skribis:
>>
>>> When two users run "guix pull" using the same commit, two different
>>> versions of "guix-latest" get built.  This surprised me, and in any case
>>> it seems inefficient to build the same version of Guix two times.  Why
>>> do two different derivations get built?
>>
>> That’s a bug!  :-)
>
> I see!  Nice to know my suspicions were correct.

Ludo, did you fix this recently?  Anecdotally, I noticed that the
problem no longer occurs using a recent version of Guix.

-- 
Chris

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

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

* Re: "guix-latest" differs when two users run "guix pull" from same commit
  2017-12-08  6:57     ` Chris Marusich
@ 2017-12-08 10:44       ` Ludovic Courtès
  2018-01-07  2:17       ` Mike Gerwitz
  1 sibling, 0 replies; 7+ messages in thread
From: Ludovic Courtès @ 2017-12-08 10:44 UTC (permalink / raw)
  To: Chris Marusich; +Cc: help-guix

Chris Marusich <cmmarusich@gmail.com> skribis:

> Chris Marusich <cmmarusich@gmail.com> writes:
>
>> ludo@gnu.org (Ludovic Courtès) writes:
>>
>>> Chris Marusich <cmmarusich@gmail.com> skribis:
>>>
>>>> When two users run "guix pull" using the same commit, two different
>>>> versions of "guix-latest" get built.  This surprised me, and in any case
>>>> it seems inefficient to build the same version of Guix two times.  Why
>>>> do two different derivations get built?
>>>
>>> That’s a bug!  :-)
>>
>> I see!  Nice to know my suspicions were correct.
>
> Ludo, did you fix this recently?  Anecdotally, I noticed that the
> problem no longer occurs using a recent version of Guix.

I know that it’s fixed in the new ‘guix pull’ strategy I’ve been working
on¹, but in master nothing has changed.

Ludo’.

¹ https://bugs.gnu.org/27284

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

* Re: "guix-latest" differs when two users run "guix pull" from same commit
  2017-12-08  6:57     ` Chris Marusich
  2017-12-08 10:44       ` Ludovic Courtès
@ 2018-01-07  2:17       ` Mike Gerwitz
  2018-01-08 15:37         ` Ludovic Courtès
  1 sibling, 1 reply; 7+ messages in thread
From: Mike Gerwitz @ 2018-01-07  2:17 UTC (permalink / raw)
  To: Chris Marusich, Ludovic Courtès; +Cc: help-guix

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

On Thu, Dec 07, 2017 at 22:57:17 -0800, Chris Marusich wrote:
> Chris Marusich <cmmarusich@gmail.com> writes:
>
>> ludo@gnu.org (Ludovic Courtès) writes:
>>
>>> Chris Marusich <cmmarusich@gmail.com> skribis:
>>>
>>>> When two users run "guix pull" using the same commit, two different
>>>> versions of "guix-latest" get built.  This surprised me, and in any case
>>>> it seems inefficient to build the same version of Guix two times.  Why
>>>> do two different derivations get built?
>>>
>>> That’s a bug!  :-)
>>
>> I see!  Nice to know my suspicions were correct.
>
> Ludo, did you fix this recently?  Anecdotally, I noticed that the
> problem no longer occurs using a recent version of Guix.

I still seem to have this issue.

My workaround is to just manually symlink ~/.config/guix/latest to the
same derivation as root's.  Since Ludo said this behavior seems to be a
bug, can I assume that it is safe to do so?

-- 
Mike Gerwitz
Free Software Hacker+Activist | GNU Maintainer & Volunteer
GPG: D6E9 B930 028A 6C38 F43B  2388 FEF6 3574 5E6F 6D05
https://mikegerwitz.com

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

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

* Re: "guix-latest" differs when two users run "guix pull" from same commit
  2018-01-07  2:17       ` Mike Gerwitz
@ 2018-01-08 15:37         ` Ludovic Courtès
  0 siblings, 0 replies; 7+ messages in thread
From: Ludovic Courtès @ 2018-01-08 15:37 UTC (permalink / raw)
  To: Mike Gerwitz; +Cc: help-guix

Mike Gerwitz <mtg@gnu.org> skribis:

> On Thu, Dec 07, 2017 at 22:57:17 -0800, Chris Marusich wrote:
>> Chris Marusich <cmmarusich@gmail.com> writes:
>>
>>> ludo@gnu.org (Ludovic Courtès) writes:
>>>
>>>> Chris Marusich <cmmarusich@gmail.com> skribis:
>>>>
>>>>> When two users run "guix pull" using the same commit, two different
>>>>> versions of "guix-latest" get built.  This surprised me, and in any case
>>>>> it seems inefficient to build the same version of Guix two times.  Why
>>>>> do two different derivations get built?
>>>>
>>>> That’s a bug!  :-)
>>>
>>> I see!  Nice to know my suspicions were correct.
>>
>> Ludo, did you fix this recently?  Anecdotally, I noticed that the
>> problem no longer occurs using a recent version of Guix.
>
> I still seem to have this issue.
>
> My workaround is to just manually symlink ~/.config/guix/latest to the
> same derivation as root's.  Since Ludo said this behavior seems to be a
> bug, can I assume that it is safe to do so?

Yes, it’s a safe workaround.

I do hope to finish and merge ‘wip-pull-reload’ ASAP, which fixes this
among other things…

Ludo’.

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

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

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-11-15 22:58 "guix-latest" differs when two users run "guix pull" from same commit Chris Marusich
2017-11-16 16:08 ` Ludovic Courtès
2017-11-22  3:53   ` Chris Marusich
2017-12-08  6:57     ` Chris Marusich
2017-12-08 10:44       ` Ludovic Courtès
2018-01-07  2:17       ` Mike Gerwitz
2018-01-08 15:37         ` Ludovic Courtès

Code repositories for project(s) associated with this external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.