all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / Atom feed
* Derivations differ between computers?
@ 2021-11-25  1:55 Leo Famulari
  2021-11-25  3:02 ` Leo Famulari
  2021-11-25  9:32 ` zimoun
  0 siblings, 2 replies; 5+ messages in thread
From: Leo Famulari @ 2021-11-25  1:55 UTC (permalink / raw)
  To: guix-devel


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

I'm seeing something weird, where Guix is creating different derivations
based on the same Git commit, between two machines of the same system
type:

Computer A:
------
$ lscpu | grep Architecture
Architecture:                    x86_64
$ guix describe
Generation 180	Oct 17 2021 23:07:29	(current)
  guix 473ea16
    repository URL: https://git.savannah.gnu.org/git/guix.git
    branch: master
    commit: 473ea161a15a13e7d5e7e0724693c1931ff8daaa
$ guix time-machine --commit=c70eadeaed9367e45be3797a17d3a34e5f8f67cd -- build --no-grafts hello -d
/gnu/store/260bk0ch4np4h2yz5yqhf8hjbsyhwpmr-hello-2.10.drv
------

Computer B:
------
$ lscpu | grep Architecture
Architecture:                    x86_64
$ guix describe
Generation 23   Oct 18 2021 00:23:51    (current)
  guix 473ea16
    repository URL: https://git.savannah.gnu.org/git/guix.git
    branch: master
    commit: 473ea161a15a13e7d5e7e0724693c1931ff8daaa
$ guix time-machine --commit=c70eadeaed9367e45be3797a17d3a34e5f8f67cd -- build --no-grafts hello -d
/gnu/store/vs34g0npra395dsqyplrjrwlm417a1w4-hello-2.10.drv
------

I've attached the two drv files.

[-- Attachment #1.2: vs34g0npra395dsqyplrjrwlm417a1w4-hello-2.10.drv --]
[-- Type: text/plain, Size: 2291 bytes --]

Derive([("out","/gnu/store/81bdcd5x4v50i28h98bfkvvkx9cky63w-hello-2.10","","")],[("/gnu/store/0fb6hgi7dwmvmdj1knizplgkm8vc2sq7-diffutils-3.8.drv",["out"]),("/gnu/store/0sw6b9jzzb1ryg21l9m6n63359qvwfl2-linux-libre-headers-5.10.35.drv",["out"]),("/gnu/store/17bkz7wpqsz1ijj91yjcw6w02siy28rf-patch-2.7.6.drv",["out"]),("/gnu/store/18akqfgh7baxd76bvsqkbbf0vrhhvm96-grep-3.6.drv",["out"]),("/gnu/store/43dyjif4jbcwijwgx8zc9h1rrnnahvvr-gawk-5.1.0.drv",["out"]),("/gnu/store/4ksrvcl5hdlsrgl3xgqsp4ynxly0gcmb-coreutils-8.32.drv",["out"]),("/gnu/store/9c46gba0p70936hpkbsniyvramzcg15a-findutils-4.8.0.drv",["out"]),("/gnu/store/a666nmr27ldqydizgkagm7cdkp969g23-ld-wrapper-0.drv",["out"]),("/gnu/store/brc979gqi68nia6dic29idi4ivs7bahj-xz-5.2.5.drv",["out"]),("/gnu/store/c5rjmk6icznlyj2d0hg4d894vjz5kqcm-gzip-1.10.drv",["out"]),("/gnu/store/cl1lx14n1qlvnci3d9l9jkddhr9dbwrv-glibc-utf8-locales-2.33.drv",["out"]),("/gnu/store/crwjxp7y930jh7mi81rm4bi3n14c46l9-bash-minimal-5.1.8.drv",["out"]),("/gnu/store/d3y1zzsvzgmscr0pid2spbvi8pig1211-module-import-compiled.drv",["out"]),("/gnu/store/d6qwn21smwmqnqwhf59k05g450jcmk47-make-4.3.drv",["out"]),("/gnu/store/d6zsh7yc89ypb3pa60w6n8avhlrxffjn-binutils-2.37.drv",["out"]),("/gnu/store/k4y78x89a4cncd2m89f6nm8sax7yfrgs-bzip2-1.0.8.drv",["out"]),("/gnu/store/kpjcdlm9r0svkwfkznl1xzdmnwcxqab0-file-5.39.drv",["out"]),("/gnu/store/lx61zqnsj9j3nrl5ndl9cbdn7a28f7yx-tar-1.34.drv",["out"]),("/gnu/store/nrz4jw512q3440vd3mdm6qhmf6127qsy-gcc-10.3.0.drv",["out"]),("/gnu/store/xmq151lsv0p5q435q8l3f9yi8ddrxs00-hello-2.10.tar.gz.drv",["out"]),("/gnu/store/z01nlbjbcrq62j57gh2g5d648phmpjw8-guile-3.0.7.drv",["out"]),("/gnu/store/zi9g0nz5qv4rfzdzbm3gax7x3gbyvxmh-sed-4.8.drv",["out"]),("/gnu/store/zr4pvzv8dk0clra8xi3jb82ncwxjn8kz-glibc-2.33.drv",["out","static"])],["/gnu/store/h38403a8viyv0pfjrv2i9v15ys9rlxyc-module-import","/gnu/store/qnkkn7j2xggwx7cxkwj3f74p407m91lz-hello-2.10-builder"],"x86_64-linux","/gnu/store/fidl08nms5v63lkqv627zibxpd85zxqb-guile-3.0.7/bin/guile",["--no-auto-compile","-L","/gnu/store/h38403a8viyv0pfjrv2i9v15ys9rlxyc-module-import","-C","/gnu/store/0777brz2w8k5s4g53yfh34fyxp5r08sq-module-import-compiled","/gnu/store/qnkkn7j2xggwx7cxkwj3f74p407m91lz-hello-2.10-builder"],[("out","/gnu/store/81bdcd5x4v50i28h98bfkvvkx9cky63w-hello-2.10")])

[-- Attachment #1.3: 260bk0ch4np4h2yz5yqhf8hjbsyhwpmr-hello-2.10.drv --]
[-- Type: text/plain, Size: 2291 bytes --]

Derive([("out","/gnu/store/81bdcd5x4v50i28h98bfkvvkx9cky63w-hello-2.10","","")],[("/gnu/store/1zcr255w8la3p3sbmg1lybk4ci7pwdqn-linux-libre-headers-5.10.35.drv",["out"]),("/gnu/store/24bbyxq198gr6h8mng017yygb0c9131g-gawk-5.1.0.drv",["out"]),("/gnu/store/37gcz6i49v0ky04cj4jc7g8y7vcnwhcl-bzip2-1.0.8.drv",["out"]),("/gnu/store/48az7g90baly2q0ii40sxscs39s3x8i6-diffutils-3.8.drv",["out"]),("/gnu/store/5d3gzfnaff9zy8av5grlaqqfww96sf0r-ld-wrapper-0.drv",["out"]),("/gnu/store/5k6sj3w29qxj1pbpwgi79rf5913vvz0a-patch-2.7.6.drv",["out"]),("/gnu/store/6h79i5qyxq3hkhamw9cc5i2q06kih1na-bash-minimal-5.1.8.drv",["out"]),("/gnu/store/78ww8sqfpxavnkjgwafs7xr2zwzza3mc-hello-2.10.tar.gz.drv",["out"]),("/gnu/store/8ijky4mz9nrsfsbra0ycwwg28d34b2k9-grep-3.6.drv",["out"]),("/gnu/store/8sxsjagqx4kj1r7fqyf2cqbnkg36px11-findutils-4.8.0.drv",["out"]),("/gnu/store/9jp3m8xciyfkg7p5qw48fmz0a0yvbw7y-xz-5.2.5.drv",["out"]),("/gnu/store/ah7w4an3f4j9hqjplcrk7b4vwz6gdpas-glibc-2.33.drv",["out","static"]),("/gnu/store/aqdla1awj6z4d28p01vcwklqy6jzwam8-make-4.3.drv",["out"]),("/gnu/store/dz3x0aw6bzkc0j3y6na8f7lfrlbvl3sc-sed-4.8.drv",["out"]),("/gnu/store/gsr2lgp5583bjxmv71r5l198i20672wd-module-import-compiled.drv",["out"]),("/gnu/store/jyz5ya2r9f35k3a35bzjm3cr4hcgij53-binutils-2.37.drv",["out"]),("/gnu/store/k79fw1rnclmw31xyp41fkgrs85r3l5pq-tar-1.34.drv",["out"]),("/gnu/store/kss3acdlsicf79sdp4d7vj4xq5g6zlgi-file-5.39.drv",["out"]),("/gnu/store/m0nbbk3vgl637ibrz7z72r5v0dkswpi2-guile-3.0.7.drv",["out"]),("/gnu/store/qbvja07lah7dlr3q9w93f5pwb4wy04zx-gzip-1.10.drv",["out"]),("/gnu/store/rnpli1zbqnrgg9a0w7h1z9am3rk64a7d-coreutils-8.32.drv",["out"]),("/gnu/store/xpwy8vpvpm478idpr8c7bawb0jvcl3kr-gcc-10.3.0.drv",["out"]),("/gnu/store/zh2adxhwgvqn8dddxc793mkwmfrdv9x1-glibc-utf8-locales-2.33.drv",["out"])],["/gnu/store/h38403a8viyv0pfjrv2i9v15ys9rlxyc-module-import","/gnu/store/qnkkn7j2xggwx7cxkwj3f74p407m91lz-hello-2.10-builder"],"x86_64-linux","/gnu/store/fidl08nms5v63lkqv627zibxpd85zxqb-guile-3.0.7/bin/guile",["--no-auto-compile","-L","/gnu/store/h38403a8viyv0pfjrv2i9v15ys9rlxyc-module-import","-C","/gnu/store/0777brz2w8k5s4g53yfh34fyxp5r08sq-module-import-compiled","/gnu/store/qnkkn7j2xggwx7cxkwj3f74p407m91lz-hello-2.10-builder"],[("out","/gnu/store/81bdcd5x4v50i28h98bfkvvkx9cky63w-hello-2.10")])

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

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

* Re: Derivations differ between computers?
  2021-11-25  1:55 Derivations differ between computers? Leo Famulari
@ 2021-11-25  3:02 ` Leo Famulari
  2021-11-26  0:49   ` zimoun
  2021-11-25  9:32 ` zimoun
  1 sibling, 1 reply; 5+ messages in thread
From: Leo Famulari @ 2021-11-25  3:02 UTC (permalink / raw)
  To: guix-devel

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

On Wed, Nov 24, 2021 at 08:55:31PM -0500, Leo Famulari wrote:
> Computer A:
> ------
> $ guix time-machine --commit=c70eadeaed9367e45be3797a17d3a34e5f8f67cd -- build --no-grafts hello -d
> /gnu/store/260bk0ch4np4h2yz5yqhf8hjbsyhwpmr-hello-2.10.drv
> ------
> 
> Computer B:
> ------
> $ guix time-machine --commit=c70eadeaed9367e45be3797a17d3a34e5f8f67cd -- build --no-grafts hello -d
> /gnu/store/vs34g0npra395dsqyplrjrwlm417a1w4-hello-2.10.drv
> ------

It's caused by $GUIX_DOWNLOAD_FALLBACK_TEST=none

I noticed by "climbing up" the dependency graph, comparing derivations
until I got to the XZ bootstrap seed derivation on computer B:

------
Derive([("out","/gnu/store/qc9b01x31ayxb36r0zw5cw28awisdq98-xz","r:sha256","1324eb9f74026653255d3a44da3103318e3b8e07f577115d7fa5ae1362eb3345")],[],["/gnu/store/3q889p5zj9kdnl7wfs8dah8wzxvq6j8j-no-content-addressed-mirrors","/gnu/store/chgbsnxxi0032ikjgwi14asmkm792yla-no-disarchive-mirrors","/gnu/store/hdprrnsaa40vl1k63hnq7l1f012jzq2y-mirrors"],"x86_64-linux","builtin:download",[],[("content-addressed-mirrors","/gnu/store/3q889p5zj9kdnl7wfs8dah8wzxvq6j8j-no-content-addressed-mirrors"),("disarchive-mirrors","/gnu/store/chgbsnxxi0032ikjgwi14asmkm792yla-no-disarchive-mirrors"),("executable","1"),("impureEnvVars","http_proxy https_proxy LC_ALL LC_MESSAGES LANG COLUMNS"),("mirrors","/gnu/store/hdprrnsaa40vl1k63hnq7l1f012jzq2y-mirrors"),("out","/gnu/store/qc9b01x31ayxb36r0zw5cw28awisdq98-xz"),("preferLocalBuild","1"),("url","(\"https://git.savannah.gnu.org/cgit/guix.git/plain/gnu/packages/bootstrap/i686-linux/xz?id=44f07d1dc6806e97c4e9ee3e6be883cc59dc666e\" \"https://alpha.gnu.org/gnu/guix/bootstrap/i686-linux/xz?id=44f07d1dc6806e97c4e9ee3e6be883cc59dc666e\" \"http://flashner.co.il/guix/bootstrap/i686-linux/xz?id=44f07d1dc6806e97c4e9ee3e6be883cc59dc666e\" \"http://lilypond.org/janneke/guix/i686-linux/xz?id=44f07d1dc6806e97c4e9ee3e6be883cc59dc666e\")")])
------

It includes all those empty mirror lists, which computer A does not
refer to.

The issue went away when I unset GUIX_DOWNLOAD_FALLBACK_TEST

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

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

* Re: Derivations differ between computers?
  2021-11-25  1:55 Derivations differ between computers? Leo Famulari
  2021-11-25  3:02 ` Leo Famulari
@ 2021-11-25  9:32 ` zimoun
  1 sibling, 0 replies; 5+ messages in thread
From: zimoun @ 2021-11-25  9:32 UTC (permalink / raw)
  To: Leo Famulari, guix-devel

Hi,

On Wed, 24 Nov 2021 at 20:55, Leo Famulari <leo@famulari.name> wrote:
> I'm seeing something weird, where Guix is creating different derivations
> based on the same Git commit, between two machines of the same system
> type:

Euh?!

Many things appear really weird.  Just, how is it possible,

> Derive([("out","/gnu/store/81bdcd5x4v50i28h98bfkvvkx9cky63w-hello-2.10","","")]
("/gnu/store/xmq151lsv0p5q435q8l3f9yi8ddrxs00-hello-2.10.tar.gz.drv",["out"])

> Derive([("out","/gnu/store/81bdcd5x4v50i28h98bfkvvkx9cky63w-hello-2.10","","")]
("/gnu/store/78ww8sqfpxavnkjgwafs7xr2zwzza3mc-hello-2.10.tar.gz.drv",["out"])


to have 2 different fixed-outputs which lead to the same final output hash?


On my machine, running two time-machine, I get the same as machine A
/gnu/store/260bk0ch4np4h2yz5yqhf8hjbsyhwpmr-hello-2.10.drv.


Where does Guix on machine B come from?  Because, Guix inherits from
some previous config, I mean, for instance:

   ./bootstrap && ./configure --localstatedir=/var && make
   ./pre-inst-env guix pull
   guix pull
   guix <actions>

is not necessarily the same as:

   guix pull
   guix pull
   guix <actions>

because ’sysconfdir’ is not the same.  See for instance this
<http://issues.guix.gnu.org/issue/47401> for documenting this behaviour.


Cheers,
simon


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

* Re: Derivations differ between computers?
  2021-11-25  3:02 ` Leo Famulari
@ 2021-11-26  0:49   ` zimoun
  2021-11-28 17:38     ` Ludovic Courtès
  0 siblings, 1 reply; 5+ messages in thread
From: zimoun @ 2021-11-26  0:49 UTC (permalink / raw)
  To: Leo Famulari, guix-devel

Hi Leo,

On Wed, 24 Nov 2021 at 22:02, Leo Famulari <leo@famulari.name> wrote:

> It's caused by $GUIX_DOWNLOAD_FALLBACK_TEST=none

Oh, indeed!  Nothing weird in fact. :-) The derivations are different
(the way to compute) but the outputs are the same; recursively.

Fun!  :-)

Thanks for this non obvious at first (at least for me) use case.


--8<---------------cut here---------------start------------->8---
$ guix build --no-grafts hello -d
/gnu/store/c1qicg17ygn1a0biq0q4mkprzy4p2x74-hello-2.10.drv

>> /gnu/store/c1qicg17ygn1a0biq0q4mkprzy4p2x74-hello-2.10.drv

Derive
([("out","/gnu/store/a462kby1q51ndvxdv3b6p0rsixxrgx1h-hello-2.10","","")]
 ,[("/gnu/store/0vh2rcmhyzk9j5y5bdzywsd8zd9kjwm1-coreutils-8.32.drv",["out"])
[...]
   ,("/gnu/store/78ww8sqfpxavnkjgwafs7xr2zwzza3mc-hello-2.10.tar.gz.drv",["out"])
[...]

>> /gnu/store/78ww8sqfpxavnkjgwafs7xr2zwzza3mc-hello-2.10.tar.gz.drv

Derive
([("out","/gnu/store/hbdalsf5lpf01x4dcknwx6xbn6n5km6k-hello-2.10.tar.gz","sha256","31e066137a962676e89f69d1b65382de95a7ef7d914b8cb956f41ea72e0f516b")]
 ,[]
 ,["/gnu/store/0mxnx8l4fgigvd7gakwdk6hc6im4wnai-disarchive-mirrors","/gnu/store/hdprrnsaa40vl1k63hnq7l1f012jzq2y-mirrors","/gnu/store/lv7dc09895a2d7cn0m6ysrdlgkhx5ld8-content-addressed-mirrors"]
 ,"x86_64-linux","builtin:download",[]
 ,[("content-addressed-mirrors","/gnu/store/lv7dc09895a2d7cn0m6ysrdlgkhx5ld8-content-addressed-mirrors")
   ,("disarchive-mirrors","/gnu/store/0mxnx8l4fgigvd7gakwdk6hc6im4wnai-disarchive-mirrors")
   ,("impureEnvVars","http_proxy https_proxy LC_ALL LC_MESSAGES LANG COLUMNS")
   ,("mirrors","/gnu/store/hdprrnsaa40vl1k63hnq7l1f012jzq2y-mirrors")
   ,("out","/gnu/store/hbdalsf5lpf01x4dcknwx6xbn6n5km6k-hello-2.10.tar.gz")
   ,("preferLocalBuild","1")
   ,("url","\"mirror://gnu/hello/hello-2.10.tar.gz\"")])

>> /gnu/store/0vh2rcmhyzk9j5y5bdzywsd8zd9kjwm1-coreutils-8.32.drv

Derive
([("out","/gnu/store/57xj5gcy1jbl9ai2lnrqnpr0dald9i65-coreutils-8.32","","")]
 ,[("/gnu/store/3bwkjkymipgm1z0pvqjcl0y384skpycb-gcc-7.5.0.drv",["out"])
[...]
--8<---------------cut here---------------end--------------->8---

vs

--8<---------------cut here---------------start------------->8---
$ GUIX_DOWNLOAD_FALLBACK_TEST=none guix build --no-grafts hello -d
/gnu/store/jq89sx909ibywm6llcmlfd7yj1ryhwci-hello-2.10.drv

>> /gnu/store/jq89sx909ibywm6llcmlfd7yj1ryhwci-hello-2.10.drv 

Derive
([("out","/gnu/store/a462kby1q51ndvxdv3b6p0rsixxrgx1h-hello-2.10","","")]
[...]
   ,("/gnu/store/rm8cfngfyb4w7yiqavyw62kp4rmhyd6k-coreutils-8.32.drv",["out"])
[...]
   ,("/gnu/store/xmq151lsv0p5q435q8l3f9yi8ddrxs00-hello-2.10.tar.gz.drv",["out"])
[...]

>> /gnu/store/xmq151lsv0p5q435q8l3f9yi8ddrxs00-hello-2.10.tar.gz.drv

Derive
([("out","/gnu/store/hbdalsf5lpf01x4dcknwx6xbn6n5km6k-hello-2.10.tar.gz","sha256","31e066137a962676e89f69d1b65382de95a7ef7d914b8cb956f41ea72e0f516b")]
 ,[]
 ,["/gnu/store/3q889p5zj9kdnl7wfs8dah8wzxvq6j8j-no-content-addressed-mirrors","/gnu/store/chgbsnxxi0032ikjgwi14asmkm792yla-no-disarchive-mirrors","/gnu/store/hdprrnsaa40vl1k63hnq7l1f012jzq2y-mirrors"]
 ,"x86_64-linux","builtin:download",[]
 ,[("content-addressed-mirrors","/gnu/store/3q889p5zj9kdnl7wfs8dah8wzxvq6j8j-no-content-addressed-mirrors")
   ,("disarchive-mirrors","/gnu/store/chgbsnxxi0032ikjgwi14asmkm792yla-no-disarchive-mirrors")
   ,("impureEnvVars","http_proxy https_proxy LC_ALL LC_MESSAGES LANG COLUMNS")
   ,("mirrors","/gnu/store/hdprrnsaa40vl1k63hnq7l1f012jzq2y-mirrors")
   ,("out","/gnu/store/hbdalsf5lpf01x4dcknwx6xbn6n5km6k-hello-2.10.tar.gz")
   ,("preferLocalBuild","1")
   ,("url","\"mirror://gnu/hello/hello-2.10.tar.gz\"")])

>> /gnu/store/rm8cfngfyb4w7yiqavyw62kp4rmhyd6k-coreutils-8.32.drv

Derive
([("out","/gnu/store/57xj5gcy1jbl9ai2lnrqnpr0dald9i65-coreutils-8.32","","")]
 ,[("/gnu/store/05ddysy67wadk9n726vs45bg6g1s36xl-gawk-boot0-2.7.6.drv",["out"])
[...]
--8<---------------cut here---------------end--------------->8---


Cheers,
simon


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

* Re: Derivations differ between computers?
  2021-11-26  0:49   ` zimoun
@ 2021-11-28 17:38     ` Ludovic Courtès
  0 siblings, 0 replies; 5+ messages in thread
From: Ludovic Courtès @ 2021-11-28 17:38 UTC (permalink / raw)
  To: zimoun; +Cc: guix-devel

Hi!

zimoun <zimon.toutoune@gmail.com> skribis:

> Oh, indeed!  Nothing weird in fact. :-) The derivations are different
> (the way to compute) but the outputs are the same; recursively.

Lesson: always compare the output file names in the .drv files before
digging further.  (I made that mistake a number of times!)

Ludo’.


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

end of thread, other threads:[~2021-11-28 17:39 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-25  1:55 Derivations differ between computers? Leo Famulari
2021-11-25  3:02 ` Leo Famulari
2021-11-26  0:49   ` zimoun
2021-11-28 17:38     ` Ludovic Courtès
2021-11-25  9:32 ` zimoun

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.