Re: "guix-latest" differs when two users run "guix pull" from same commit
Mike Gerwitz skribis: > On Thu, Dec 07, 2017 at 22:57:17 -0800, Chris Marusich wrote: >> Chris Marusich writes: >> >>> l...@gnu.org (Ludovic Courtès) writes: >>> Chris Marusich 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’.
Re: "guix-latest" differs when two users run "guix pull" from same commit
On Thu, Dec 07, 2017 at 22:57:17 -0800, Chris Marusich wrote: > Chris Marusich writes: > >> l...@gnu.org (Ludovic Courtès) writes: >> >>> Chris Marusich 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 signature.asc Description: PGP signature
Re: "guix-latest" differs when two users run "guix pull" from same commit
Chris Marusich skribis: > Chris Marusich writes: > >> l...@gnu.org (Ludovic Courtès) writes: >> >>> Chris Marusich 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
Re: "guix-latest" differs when two users run "guix pull" from same commit
Chris Marusich writes: > l...@gnu.org (Ludovic Courtès) writes: > >> Chris Marusich 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 signature.asc Description: PGP signature
Re: "guix-latest" differs when two users run "guix pull" from same commit
l...@gnu.org (Ludovic Courtès) writes: > Chris Marusich 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 guix-pull-diff Description: Binary data signature.asc Description: PGP signature
Re: "guix-latest" differs when two users run "guix pull" from same commit
Chris Marusich 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’.
"guix-latest" differs when two users run "guix pull" from same commit
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 signature.asc Description: PGP signature