failed to compute the derivation for Guix

  • Done
  • quality assurance status badge
Details
3 participants
  • Fabrice Tudoret
  • Ludovic Courtès
  • Simon Tournier
Owner
unassigned
Submitted by
Fabrice Tudoret
Severity
normal
Merged with
F
F
Fabrice Tudoret wrote on 2 Oct 16:27 +0200
(address . bug-guix@gnu.org)
ef914e42-7ae6-474e-a620-8a90f83a0136@univ-rennes1.fr
Hi every one,
The very first "guix pull" for a new user failed whereas it works fine
for other users.
Have you an idea of what I could do ?
Thanks,
--
Fabrice TUDORET
Laboratoire du Traitement du Signal et de l'Image
INSERM U-1099. Université de Rennes 1
Campus de Beaulieu. Bât 22. 35042. Rennes. France
OUTPUT:
[hjebbari@cluster24 ~]$ guix pull
Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.org/git/guix.git'...
Authenticating channel 'guix', commits 9edb3f6 to a47d7af (2 new commits)...
Building from this channel:
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
26.4 MB will be downloaded
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
glibc-2.35 8.5MiB 7.5MiB/s 00:01 ???????????????????? 100.0%
bash-minimal-5.1.16 588KiB 15.9MiB/s 00:00 ???????????????????? 100.0%
gcc-11.3.0-lib 5.4MiB 15.8MiB/s 00:00 ???????????????????? 100.0%
libffi-3.4.4 60KiB 13.4MiB/s 00:00 ???????????????????? 100.0%
libgc-8.2.2 218KiB 6.1MiB/s 00:00 ???????????????????? 100.0%
libunistring-1.0 661KiB 22.8MiB/s 00:00 ???????????????????? 100.0%
pkg-config-0.29.2 209KiB 18.1MiB/s 00:00 ???????????????????? 100.0%
guile-3.0.9 8.1MiB 15.1MiB/s 00:01 ???????????????????? 100.0%
guile-3.0.9-debug 7.8MiB 18.3MiB/s 00:00 ???????????????????? 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
0.4 MB will be downloaded
glibc-utf8-locales-2.35 382KiB 1.6MiB/s 00:00 ???????????????????? 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
bash-minimal-5.1.16 569KiB 4.2MiB/s 00:00 ???????????????????? 100.0%
libffi-3.4.4 56KiB 4.1MiB/s 00:00 ???????????????????? 100.0%
libgc-8.2.2 228KiB 12.3MiB/s 00:00 ???????????????????? 100.0%
libunistring-1.0 661KiB 15.7MiB/s 00:00 ???????????????????? 100.0%
pkg-config-0.29.2 209KiB 18.5MiB/s 00:00 ???????????????????? 100.0%
guile-3.0.9 8.1MiB 15.0MiB/s 00:01 ???????????????????? 100.0%
guile-3.0.9-debug 7.8MiB 17.7MiB/s 00:00 ???????????????????? 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
libgpg-error-1.45 223KiB 2.2MiB/s 00:00 ???????????????????? 100.0%
libgcrypt-1.10.1 552KiB 5.8MiB/s 00:00 ???????????????????? 100.0%
guile-gcrypt-0.4.0 165KiB 5.7MiB/s 00:00 ???????????????????? 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
module-import-compiled 72KiB 709KiB/s 00:00 ???????????????????? 100.0%
gmp-6.2.1 572KiB 1.8MiB/s 00:00 ???????????????????? 100.0%
libltdl-2.4.7 35KiB 6.0MiB/s 00:00 ???????????????????? 100.0%
building /gnu/store/9gixy6nraman3lcgnzbn7n8njfil74m9-config.scm.drv...
guile-2.0.14 3.0MiB 4.2MiB/s 00:01 ???????????????????? 100.0%
building /gnu/store/rqrp24hh4a8z5yksszk6qdibxgmlnj08-git.scm.drv...
applying 7 grafts for guile-3.0.9 ...
building /gnu/store/dljzzrg62hjpxgwki91iq21c671aqcwr-hash.scm.drv...
building /gnu/store/2dqshn0xlzawkfqmp2s4x0zgxwd0zvck-module-import.drv...
building /gnu/store/6hc84nfig5847qxsm52ih3pg74xycbxk-module-import.drv...
building /gnu/store/3zlfnqjc30wm4cdj6hwxnr4xd6bvldck-module-import-compiled.drv...
building /gnu/store/da9g56w2yi6bhqdpdd4m309dyhilxs94-module-import-compiled.drv...
building /gnu/store/j0aa14n8ci5nigi687a95dfszgfdav58-compute-guix-derivation.drv...
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
..../....
 zipbomb-ISOEnts.zip  20KiB                                                                                                            589KiB/s 00:00 ???????????????????? 100.0%
 zipbomb-docbk41.zip  55KiB                                                                                                            1.5MiB/s 00:00 ???????????????????? 100.0%
 zipbomb-docbkx412.zip  74KiB                                                                                                          2.0MiB/s 00:00 ???????????????????? 100.0%
 zipbomb-docbook-xml-4.4.zip  94KiB                                                                                                    1.2MiB/s 00:00 ???????????????????? 100.0%
 zlib-1.3.tar.gz  1.4MiB                                                                                                              14.5MiB/s 00:00 ???????????????????? 100.0%
 zstd-1.5.2.tar.gz  1.8MiB                                                                                                             1.8MiB/s 00:01 ???????????????????? 100.0%
building /gnu/store/2fzs8yp81bi3nlm2x03sr0pc5nw1br6g-module-import-compiled.drv...
building /gnu/store/5gf7f8awndhnf2gn2mzbfbqr3ix9aj80-module-import-compiled.drv...
building /gnu/store/ix6f8f21zrl1dr2wzhi3klmvxx3iph7z-module-import-compiled.drv...
building /gnu/store/21c7pjahkh20mmzq2ivki57zwwvp6nwn-bootstrap-binaries-0.drv...
building /gnu/store/ih5923dvfg64nlpibc4qfa22jkyqykrm-bootar-1b.drv...
building /gnu/store/jc3vgcsplqsim3na80b0n2iilna5j6gx-Python-3.5.9.tar.xz.drv...
building /gnu/store/8k8zqwbam4dbpbvxpckrp9a9858kdir5-bash-5.1.tar.xz.drv...
building /gnu/store/0sf7852bz8hnv6r6jcjppihy78v2z8pa-binutils-2.20.1a.tar.xz.drv...
building /gnu/store/g9rpyxqqk7ffis463hwvrd2azs8iys48-binutils-2.41.tar.xz.drv...
building /gnu/store/4i0lsl2z614dm2gk004j18w5g6lcq4f9-file-5.45.tar.xz.drv...
building /gnu/store/6yc5bhgis7knilvc4sv3xrcrcz12vni4-findutils-4.9.0.tar.xz.drv...
building /gnu/store/s1r0sqs4d3pbcrci5bf8sfrq2i39fd4x-gash-boot-0.3.0.drv...
building /gnu/store/jb1gh3n23yy2vwv13ac4q1nrciqndc9h-gcc-4.9.4.tar.xz.drv...
building /gnu/store/qkl2pwps0jq79m2pwf613j845kyng4ig-gash-utils-boot-0.2.0.drv...
building /gnu/store/82sln2h5va0r08axbb4z7sbi62waxl6x-glibc-2.16.0.tar.xz.drv...
building /gnu/store/vm7qp49nwlgpmny08hkhqbckpljvxaw5-glibc-2.39.tar.xz.drv...
building /gnu/store/s8czy94lkp9nmk743nfqxzlfb5pmclw2-gmp-6.0.0a.tar.xz.drv...
building /gnu/store/2nb9psnys11v4ikp7934kvm0rah8931w-grep-3.11.tar.xz.drv...
building /gnu/store/arirswlxww70xgcpg5zjig0mxvfd6g7c-guile-3.0.9.tar.xz.drv...
building /gnu/store/pjazilr4rg9r9kc9mhal04ddnxa503zv-linux-libre-headers-bootstrap-0.drv...
building /gnu/store/jxcamaxfnbxi29hi5n2yszjrq9kjlrjv-make-4.4.1.tar.xz.drv...
building /gnu/store/l1z5m46sgjql7hhl9m4n7l4xksbri3sb-patch-2.7.6.tar.xz.drv...
building /gnu/store/7nn9acc043jgdmkag9dgqx7fh5ilvwqp-perl-5.36.0.tar.xz.drv...
building /gnu/store/zkqyfcpy0wx3wjwfhsdg40b8p00pq44j-sed-4.8.tar.xz.drv...
building /gnu/store/0xhv5abpmlhi8bdqm0clcyxgm421fqik-stage0-posix-1.6.0.drv...
building /gnu/store/n77ncm1b8lkagcvp0an9crv3vw8l66jg-tar-1.34.tar.xz.drv...
building /gnu/store/k99pya50zj6fg0g2sls4xdjnc5s2r55w-mes-boot-0.25.1.drv...
building /gnu/store/k5v847l5hxlny72214vjgpzj6k7ji7xa-texinfo-6.8.tar.xz.drv...
building /gnu/store/f4k07hh4jbn6a9lyakwq39a5jl0bjkcy-tcc-boot0-0.9.26-1149-g46a75d0c.drv...
building /gnu/store/ddp01hrwngv5hiw9ajbinz9mj4sb1azi-gzip-mesboot-1.2.4.drv...
building /gnu/store/04ml40bmg8sfh1dkic8wdagalsx4psxg-make-mesboot0-3.80.drv...
building /gnu/store/3cc3xp9p4xdm1hkbxshcmwvk49vqg7jq-patch-mesboot-2.5.9.drv...
| 'build' phasebuilder for `/gnu/store/3cc3xp9p4xdm1hkbxshcmwvk49vqg7jq-patch-mesboot-2.5.9.drv' failed with exit code 1
build of /gnu/store/3cc3xp9p4xdm1hkbxshcmwvk49vqg7jq-patch-mesboot-2.5.9.drv failed
View build log at '/var/log/guix/drvs/3c/c3xp9p4xdm1hkbxshcmwvk49vqg7jq-patch-mesboot-2.5.9.drv.gz'.
cannot build derivation `/gnu/store/zppf939wxvj8kkcc77wav6vzx7ch61hf-bash-minimal-5.1.16.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/xp8mhvqcx10pnydll2jdlwfp4xdkc4hi-binutils-2.41.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/gad7zcj26b7nkd9q0f883lmi3w1m4hhj-bzip2-1.0.8.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/9nm6gw4mqdqmfc1abhmv89m2w6id7nyj-coreutils-9.1.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/n9qbxl511c7my09q67dfisr99ix236jq-diffutils-3.10.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/9nk2cvlh3igs6vhy04kf8azz2f09mlfb-file-5.45.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/35ldc9a8cvhqzsj6fy0nbnr85h28nsbr-findutils-4.9.0.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/g3k5cmp4g07s5qzgsi92imx6fi61rn7d-gawk-5.3.0.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/hs0ddpl0jyzc1zl69xva2qdm55q558w8-gcc-11.4.0.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/ivfcdk1qygzc4fc4x3iqz9lcqcg9p29s-glibc-2.39.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/ivwlm6gd35xkwq86w1lb7cphvx4n2fdn-grep-3.11.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/vq51mrpvkai2r9rgcv5wch67b1wsdv4m-guile-3.0.9.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/31hhsaas75fq3j5gd4870h8cl6vprdxf-gzip-1.13.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/bxlh7g73608pwynn7di5y7rp8dfg6021-gzip-1.13.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/k8d0li0bxis6mswzsi05y2zf320hqps6-libgc-8.2.4.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/d0h6pwmvrrhfqmsr1j6cpbz3r7ihpqpj-libunistring-1.1.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/w3rfhzwjsx4v97ikfvc0gkl1wack45l6-linux-libre-headers-5.15.49.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/89kmd3qafl6n8s0sqvkadj2c6g3j1zi8-make-4.4.1.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/j03465wk2xyyh3lcc65rgafx94yh9dk1-patch-2.7.6.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/8pnnkyk61vbac83bx027kqvx0lw6y6ax-sed-4.8.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/hgq1yi330ajkp17lrp6kcanfikyhjc9f-tar-1.34.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/7fbzhdi5vr7kkbdp1is5wd5c43z8vrmq-xz-5.4.5.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/ldsvsi4mfbmhwpxghjj5s1na0d8kr94a-zstd-1.5.2.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/r7qvm0ad2qxdm000mlfbr8c8wxw2jfvf-git-minimal-2.46.0.drv': 1 dependencies couldn't be built
Backtrace:
          14 (primitive-load "/gnu/store/38agwh7x3v43jhl06ginx2080zc8isfj-compute-guix-derivation")
In ice-9/eval.scm:
    155:9 13 (_ _)
    159:9 12 (_ #(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<directory (guile-u?> ?) ?) ?) ?) ?) ?) ?) ?) ?) ?) ?) ?) ?) ?) ?) ?))
In ice-9/boot-9.scm:
    152:2 11 (with-fluid* _ _ _)
    152:2 10 (with-fluid* _ _ _)
In ./guix/store.scm:
  2210:24  9 (run-with-store #<store-connection 256.100 7f12815410a0> #<procedure 7f12696ada00 at ./guix/self.scm:1?> ?)
   2038:8  8 (_ #<store-connection 256.100 7f12815410a0>)
In ./guix/gexp.scm:
   300:22  7 (_ #<store-connection 256.100 7f12815410a0>)
   1218:2  6 (_ #<store-connection 256.100 7f12815410a0>)
   1085:2  5 (_ #<store-connection 256.100 7f12815410a0>)
    926:4  4 (_ #<store-connection 256.100 7f12815410a0>)
In ./guix/store.scm:
  2095:12  3 (_ #<store-connection 256.100 7f12815410a0>)
   1433:5  2 (map/accumulate-builds #<store-connection 256.100 7f12815410a0> #<procedure 7f126dc55920 at ./guix/sto?> ?)
  1449:15  1 (_ #<store-connection 256.100 7f12815410a0> ("/gnu/store/i9y8962w382ivw7n66i6vdj2dxg3qi7r-guix-daem?" ?) ?)
  1449:15  0 (loop #f)
./guix/store.scm:1449:15: In procedure loop:
ERROR:
  1. &store-protocol-error:
      message: "build of `/gnu/store/r7qvm0ad2qxdm000mlfbr8c8wxw2jfvf-git-minimal-2.46.0.drv' failed"
      status: 100
guix pull: error: You found a bug: the program '/gnu/store/38agwh7x3v43jhl06ginx2080zc8isfj-compute-guix-derivation'
failed to compute the derivation for Guix (version: "a47d7af2273c2dbb5376e776b34e78a9146abbfe"; system: "x86_64-linux";
host version: "a8353e9d6b34fd8d42d2e8f14ce844849fe9c293"; pull-version: 1).
Please report the COMPLETE output above by email to<bug-guix@gnu.org>.
Attachment: file
Attachment: smime.p7s
L
L
Ludovic Courtès wrote on 3 Oct 14:16 +0200
control message for bug #73601
(address . control@debbugs.gnu.org)
87wmiptm9n.fsf@gnu.org
merge 73601 73602
quit
S
S
Simon Tournier wrote on 3 Oct 17:06 +0200
Re: bug#73601: failed to compute the derivation for Guix
87y135ql8w.fsf@gmail.com
Hi,

On mer., 02 oct. 2024 at 16:27, Fabrice Tudoret <fabrice.tudoret@univ-rennes1.fr> wrote:

Toggle quote (4 lines)
> [hjebbari@cluster24 ~]$ guix pull
> Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.org/git/guix.git'...
> Authenticating channel 'guix', commits 9edb3f6 to a47d7af (2 new commits)...

Well, it’s confusing. First the authentication reads from:

9edb3f66fd807b096b48283debdcddccfea34bad
AuthorDate: Tue May 26 22:30:51 2020 +0200
CommitDate: Tue May 26 22:30:51 2020 +0200
to:
a47d7af2273c2dbb5376e776b34e78a9146abbfe
AuthorDate: Sun Sep 29 02:00:00 2024 +0200
CommitDate: Sun Sep 29 02:00:00 2024 +0200

and there is more than 2 commits between them. ;-) Therefore, something
is probably twisted under ~/.cache/guix

Second, based on this message,

Toggle snippet (6 lines)
guix pull: error: You found a bug: the program '/gnu/store/38agwh7x3v43jhl06ginx2080zc8isfj-compute-guix-derivation'
failed to compute the derivation for Guix (version: "a47d7af2273c2dbb5376e776b34e78a9146abbfe"; system: "x86_64-linux";
host version: "a8353e9d6b34fd8d42d2e8f14ce844849fe9c293"; pull-version: 1).
Please report the COMPLETE output above by email to<bug-guix@gnu.org>.

The host revision seems:

a8353e9d6b34fd8d42d2e8f14ce844849fe9c293
AuthorDate: Sat Apr 6 09:32:09 2024 +0300
CommitDate: Mon Apr 15 12:32:42 2024 +0200

Hum?! this

guix \
time-machine -q --commit=a8353e9d6b34fd8d42d2e8f14ce844849fe9c293 \
-- time-machine -q --commit=a47d7af2273c2dbb5376e776b34e78a9146abbfe \
-- describe

works for me.


Third,

Toggle quote (3 lines)
> Building from this channel:
> guixhttps://git.savannah.gnu.org/git/guix.git a47d7af

[...]

Toggle quote (4 lines)
> building /gnu/store/21c7pjahkh20mmzq2ivki57zwwvp6nwn-bootstrap-binaries-0.drv...
> building /gnu/store/ih5923dvfg64nlpibc4qfa22jkyqykrm-bootar-1b.drv...
> building /gnu/store/jc3vgcsplqsim3na80b0n2iilna5j6gx-Python-3.5.9.tar.xz.drv...

[...]

Toggle quote (2 lines)
> View build log at '/var/log/guix/drvs/3c/c3xp9p4xdm1hkbxshcmwvk49vqg7jq-patch-mesboot-2.5.9.drv.gz'.

[...]

Toggle quote (28 lines)
> Backtrace:
>           14 (primitive-load "/gnu/store/38agwh7x3v43jhl06ginx2080zc8isfj-compute-guix-derivation")
> In ice-9/eval.scm:
>     155:9 13 (_ _)
>     159:9 12 (_ #(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<directory (guile-u?> ?) ?) ?) ?) ?) ?) ?) ?) ?) ?) ?) ?) ?) ?) ?) ?))
> In ice-9/boot-9.scm:
>     152:2 11 (with-fluid* _ _ _)
>     152:2 10 (with-fluid* _ _ _)
> In ./guix/store.scm:
>   2210:24  9 (run-with-store #<store-connection 256.100 7f12815410a0> #<procedure 7f12696ada00 at ./guix/self.scm:1?> ?)
>    2038:8  8 (_ #<store-connection 256.100 7f12815410a0>)
> In ./guix/gexp.scm:
>    300:22  7 (_ #<store-connection 256.100 7f12815410a0>)
>    1218:2  6 (_ #<store-connection 256.100 7f12815410a0>)
>    1085:2  5 (_ #<store-connection 256.100 7f12815410a0>)
>     926:4  4 (_ #<store-connection 256.100 7f12815410a0>)
> In ./guix/store.scm:
>   2095:12  3 (_ #<store-connection 256.100 7f12815410a0>)
>    1433:5  2 (map/accumulate-builds #<store-connection 256.100 7f12815410a0> #<procedure 7f126dc55920 at ./guix/sto?> ?)
>   1449:15  1 (_ #<store-connection 256.100 7f12815410a0> ("/gnu/store/i9y8962w382ivw7n66i6vdj2dxg3qi7r-guix-daem?" ?) ?)
>   1449:15  0 (loop #f)
>
> ./guix/store.scm:1449:15: In procedure loop:
> ERROR:
>   1. &store-protocol-error:
>       message: "build of `/gnu/store/r7qvm0ad2qxdm000mlfbr8c8wxw2jfvf-git-minimal-2.46.0.drv' failed"
>       status: 100

Ouch! Something seems twisted because all is rebuilt from bootstrap
although the substitutes are allowed, I guess. In other words,
something is probably modified that modifies then the derivations.

For instance, I get:

$ guix \
time-machine -q --commit=a8353e9d6b34fd8d42d2e8f14ce844849fe9c293
-- time-machine -q --commit=a47d7af2273c2dbb5376e776b34e78a9146abbfe \
-- build -e '(@@ (gnu packages commencement) python-boot0)' -S -d

/gnu/store/mbnrrqjizy3dvma9i3l8g5yvzi2p04ys-Python-3.5.9.tar.xz.drv

And not:

/gnu/store/jc3vgcsplqsim3na80b0n2iilna5j6gx-Python-3.5.9.tar.xz.drv


Well, if we give a look to the derivation, it reads:

Toggle snippet (15 lines)
$ cat /gnu/store/mbnrrqjizy3dvma9i3l8g5yvzi2p04ys-Python-3.5.9.tar.xz.drv | sed 's/)/)\n/g'

Derive([("out","/gnu/store/jl82wnklrfhjgnml3s3w0l4m4mjwpazb-Python-3.5.9.tar.xz","","")
],[("/gnu/store/38951a2gcwb4jyrwlzg634jfwkdih7m2-bootstrap-binaries-0.drv",["out"])
,("/gnu/store/ff107pg13nkarix7k9hgxxwx9cnn4602-module-import-compiled.drv",["out"])
,("/gnu/store/g08l2msvnivyi6x5nw52ak8n17sw9lzr-guile-bootstrap-2.0.drv",["out"])
,("/gnu/store/lb5b7svdmfj1ijnzrripsjcv0bhqzpwb-Python-3.5.9.tar.xz.drv",["out"])
],["/gnu/store/jsxgc979x79h81kzqz9n6cpf5pk4z262-module-import","/gnu/store/ykqckrxcmifvxz0nb58lv2drgd14l377-Python-3.5.9.tar.xz-builder"],"x86_64-linux","/gnu/store/lgi9x15a0w35mcpd7g1kb9274r6wy4pv-guile-bootstrap-2.0/bin/guile",["--no-auto-compile","-L","/gnu/store/jsxgc979x79h81kzqz9n6cpf5pk4z262-module-import","-C","/gnu/store/j2r95mqfir1q6hsavm0r22k8z49nbvk1-module-import-compiled","/gnu/store/ykqckrxcmifvxz0nb58lv2drgd14l377-Python-3.5.9.tar.xz-builder"],[("guix properties","((type . origin)
(patches . 0)
)
")
,("out","/gnu/store/jl82wnklrfhjgnml3s3w0l4m4mjwpazb-Python-3.5.9.tar.xz")
])

Here, some derivations are the same and other are probably not.

All in all, it’s hard to tell what’s wrong. :-)

Cheers,
simon
S
S
Simon Tournier wrote on 11 Oct 12:47 +0200
Re: bug#73602: failed to compute the derivation for Guix
(name . Fabrice Tudoret)(address . fabrice.tudoret@univ-rennes1.fr)
87zfnaj4qw.fsf_-_@gmail.com
Hi Fabrice,

Toggle quote (3 lines)
> Unfortunately my GUIX is still in a bad mood or worst, since I have
> troubles with all users now.

Oh! It means something is incorrectly configured for sure. :-(


Toggle quote (3 lines)
> The issue is not limited to the "pull", I have also a problem with the
> command "guix package -i hello":

Yes, that’s expected. Because you have a tiny difference really deep in
the graph of dependencies, and that difference triggers a complete world
rebuild.

Toggle quote (2 lines)
> / 'build' phasebuilder for `/gnu/store/3cc3xp9p4xdm1hkbxshcmwvk49vqg7jq-patch-mesboot-2.5.9.drv' failed with exit code 1

Well, the fact MES (bootstrap) does not build for you is another
problem. Somehow, it is known that the full-bootstrap [1] is sensible
to parameters as hardware for example. If correctly configured, you
should not build from the start but just download substitutes.

Toggle quote (3 lines)
> I will continue to dig in a little, but I wonder if a complete
> re-install could be an option ?

IMHO, for digging a bit, I would try to catch the difference. We have
two tools at hand: derivation and builder script.

For instance, let go back to the previous email. If I read correctly,
you get:

/gnu/store/jc3vgcsplqsim3na80b0n2iilna5j6gx-Python-3.5.9.tar.xz.drv

but I cannot scrutinize it since I am not able to locally reproduce
it. :-) Could you please share:

cat /gnu/store/jc3vgcsplqsim3na80b0n2iilna5j6gx-Python-3-Python-3.5.9.tar.xz.drv \
| sed 's/)/)\n/g'

? This will list all the inputs. The first thing is to check the
fixed-output: you must have,

/gnu/store/lb5b7svdmfj1ijnzrripsjcv0bhqzpwb-Python-3.5.9.tar.xz.drv

If not, ouch! Then you should have 3 inputs:

/gnu/store/38951a2gcwb4jyrwlzg634jfwkdih7m2-bootstrap-binaries-0.drv
/gnu/store/ff107pg13nkarix7k9hgxxwx9cnn4602-module-import-compiled.drv
/gnu/store/g08l2msvnivyi6x5nw52ak8n17sw9lzr-guile-bootstrap-2.0.drv

Which one is different? None? One? More? Based on that we can
restrict the space of research.

The other part is the script builder. For me, it reads:

/gnu/store/ykqckrxcmifvxz0nb58lv2drgd14l377-Python-3.5.9.tar.xz-builder

Is it the same? If yes, we will focus on above. If no, could you
attach the file?

Cheers,
simon

PS: Hum, I do not know why your reply is not visible by Debbugs… Anyway!
For the record and maybe the ease for referencing, here some information
I extract from my own inbox since I had been CC.

Message-ID: <8e618239-551a-4c1c-91b4-91a0fca987e2@univ-rennes1.fr>
Date: Mon, 7 Oct 2024 15:49:36 +0200
References: <ef914e42-7ae6-474e-a620-8a90f83a0136@univ-rennes1.fr>
In-Reply-To: <87y135ql8w.fsf@gmail.com>

F
F
Fabrice Tudoret wrote on 11 Oct 15:13 +0200
(address . 73601@debbugs.gnu.org)(address . 73602@debbugs.gnu.org)
b4f1204f-0574-42d3-9543-e5b94f85c9b1@univ-rennes1.fr
Hi Simon,
I have reinstalled GUIX two times since the sent logs. But the situation
is not better.
There are still attempts and fails to build  the
patch-mesboot-2.5.9.drv, but not for all users.
GUIX seem's to work fine with the root account and the local users but
not with ldap users.
-----
This is the results of the checks you suggest
1-
[root@cluster24 ~]# cat /gnu/store/jc3vgcsplqsim3na80b0n2iilna5j6gx-Python-3.5.9.tar.xz.drv  | sed 's/)/)\n/g'
Derive([("out","/gnu/store/cv4h89n30myf3nhjqnnahlbij2gaw21z-Python-3.5.9.tar.xz","","")
],[("/gnu/store/21c7pjahkh20mmzq2ivki57zwwvp6nwn-bootstrap-binaries-0.drv",["out"])
,("/gnu/store/5gf7f8awndhnf2gn2mzbfbqr3ix9aj80-module-import-compiled.drv",["out"])
,("/gnu/store/g08l2msvnivyi6x5nw52ak8n17sw9lzr-guile-bootstrap-2.0.drv",["out"])
,("/gnu/store/lb5b7svdmfj1ijnzrripsjcv0bhqzpwb-Python-3.5.9.tar.xz.drv",["out"])
],["/gnu/store/1s8jdafkyhz0p81l0j37yih9gbrb5gix-module-import","/gnu/store/h58cvdcdak4d87lw0fkvmkhan95ssljx-Python-3.5.9.tar.xz-builder"],"x86_64-linux","/gnu/store/lgi9x15a0w35mcpd7g1kb9274r6wy4pv-guile-bootstrap-2.0/bin/guile",["--no-auto-compile","-L","/gnu/store/1s8jdafkyhz0p81l0j37yih9gbrb5gix-module-import","-C","/gnu/store/gz5rcilhcsc5amgxcgyxvn0s5px8sg80-module-import-compiled","/gnu/store/h58cvdcdak4d87lw0fkvmkhan95ssljx-Python-3.5.9.tar.xz-builder"],[("guix properties","((type . origin)
 (patches . 0)
)
")
,("out","/gnu/store/cv4h89n30myf3nhjqnnahlbij2gaw21z-Python-3.5.9.tar.xz")
])
2 -The script builder
/gnu/store/ykqckrxcmifvxz0nb58lv2drgd14l377-Python-3.5.9.tar.xz-builder
is well present in /gnu/store.
Thanks for your valued assistance.
Regards,
Fabrice
Le 11/10/2024 à 12:47, Simon Tournier a écrit :
Toggle quote (69 lines)
> Hi Fabrice,
>
>> Unfortunately my GUIX is still in a bad mood or worst, since I have
>> troubles with all users now.
> Oh! It means something is incorrectly configured for sure. :-(
>
>
>> The issue is not limited to the "pull", I have also a problem with the
>> command "guix package -i hello":
> Yes, that’s expected. Because you have a tiny difference really deep in
> the graph of dependencies, and that difference triggers a complete world
> rebuild.
>
>> / 'build' phasebuilder for `/gnu/store/3cc3xp9p4xdm1hkbxshcmwvk49vqg7jq-patch-mesboot-2.5.9.drv' failed with exit code 1
> Well, the fact MES (bootstrap) does not build for you is another
> problem. Somehow, it is known that the full-bootstrap [1] is sensible
> to parameters as hardware for example. If correctly configured, you
> should not build from the start but just download substitutes.
>
>> I will continue to dig in a little, but I wonder if a complete
>> re-install could be an option ?
> IMHO, for digging a bit, I would try to catch the difference. We have
> two tools at hand: derivation and builder script.
>
> For instance, let go back to the previous email. If I read correctly,
> you get:
>
> /gnu/store/jc3vgcsplqsim3na80b0n2iilna5j6gx-Python-3.5.9.tar.xz.drv
>
> but I cannot scrutinize it since I am not able to locally reproduce
> it. :-) Could you please share:
>
> cat /gnu/store/jc3vgcsplqsim3na80b0n2iilna5j6gx-Python-3-Python-3.5.9.tar.xz.drv \
> | sed 's/)/)\n/g'
>
> ? This will list all the inputs. The first thing is to check the
> fixed-output: you must have,
>
> /gnu/store/lb5b7svdmfj1ijnzrripsjcv0bhqzpwb-Python-3.5.9.tar.xz.drv
>
> If not, ouch! Then you should have 3 inputs:
>
> /gnu/store/38951a2gcwb4jyrwlzg634jfwkdih7m2-bootstrap-binaries-0.drv
> /gnu/store/ff107pg13nkarix7k9hgxxwx9cnn4602-module-import-compiled.drv
> /gnu/store/g08l2msvnivyi6x5nw52ak8n17sw9lzr-guile-bootstrap-2.0.drv
>
> Which one is different? None? One? More? Based on that we can
> restrict the space of research.
>
> The other part is the script builder. For me, it reads:
>
> /gnu/store/ykqckrxcmifvxz0nb58lv2drgd14l377-Python-3.5.9.tar.xz-builder
>
> Is it the same? If yes, we will focus on above. If no, could you
> attach the file?
>
> Cheers,
> simon
>
> PS: Hum, I do not know why your reply is not visible by Debbugs… Anyway!
> For the record and maybe the ease for referencing, here some information
> I extract from my own inbox since I had been CC.
>
> Message-ID:<8e618239-551a-4c1c-91b4-91a0fca987e2@univ-rennes1.fr>
> Date: Mon, 7 Oct 2024 15:49:36 +0200
> References:<ef914e42-7ae6-474e-a620-8a90f83a0136@univ-rennes1.fr>
> In-Reply-To:<87y135ql8w.fsf@gmail.com>
>
> 1:https://simon.tournier.info/posts/2023-10-01-bootstrapping.html
Attachment: file
Attachment: smime.p7s
S
S
Simon Tournier wrote on 11 Oct 18:30 +0200
Re: bug#73601: failed to compute the derivation for Guix
(name . Fabrice Tudoret)(address . fabrice.tudoret@univ-rennes1.fr)
87y12ufvpm.fsf@gmail.com
Hi Fabrice,

On Fri, 11 Oct 2024 at 15:13, Fabrice Tudoret <fabrice.tudoret@univ-rennes1.fr> wrote:

Toggle quote (3 lines)
> GUIX seem's to work fine with the root account and the local users but
> not with ldap users.

Ah, that doesn’t ring a bell but maybe it’s related. I don’t know.


Toggle quote (2 lines)
> 1-

Just to be sure and since you have reinstalled, what is your Guix
revision?

On a side note, since it seems fine for the root account and here you
run it as root, I guess all is fine. :-) Although I don’t have the
same… ?

Toggle quote (18 lines)
> [root@cluster24 ~]# cat /gnu/store/jc3vgcsplqsim3na80b0n2iilna5j6gx-Python-3.5.9.tar.xz.drv | sed 's/)/)\n/g'
> Derive([("out","/gnu/store/cv4h89n30myf3nhjqnnahlbij2gaw21z-Python-3.5.9.tar.xz","","")
> ],[("/gnu/store/21c7pjahkh20mmzq2ivki57zwwvp6nwn-bootstrap-binaries-0.drv",["out"])
> ,("/gnu/store/5gf7f8awndhnf2gn2mzbfbqr3ix9aj80-module-import-compiled.drv",["out"])
> ,("/gnu/store/g08l2msvnivyi6x5nw52ak8n17sw9lzr-guile-bootstrap-2.0.drv",["out"])
> ,("/gnu/store/lb5b7svdmfj1ijnzrripsjcv0bhqzpwb-Python-3.5.9.tar.xz.drv",["out"])
> ],["/gnu/store/1s8jdafkyhz0p81l0j37yih9gbrb5gix-module-import","/gnu/store/h58cvdcdak4d87lw0fkvmkhan95ssljx-Python-3.5.9.tar.xz-builder"],"x86_64-linux","/gnu/store/lgi9x15a0w35mcpd7g1kb9274r6wy4pv-guile-bootstrap-2.0/bin/guile",["--no-auto-compile","-L","/gnu/store/1s8jdafkyhz0p81l0j37yih9gbrb5gix-module-import","-C","/gnu/store/gz5rcilhcsc5amgxcgyxvn0s5px8sg80-module-import-compiled","/gnu/store/h58cvdcdak4d87lw0fkvmkhan95ssljx-Python-3.5.9.tar.xz-builder"],[("guix properties","((type . origin)
> (patches . 0)
> )
> ")
> ,("out","/gnu/store/cv4h89n30myf3nhjqnnahlbij2gaw21z-Python-3.5.9.tar.xz")
> ])
>
>
> 2 -The script builder
> /gnu/store/ykqckrxcmifvxz0nb58lv2drgd14l377-Python-3.5.9.tar.xz-builder
> is well present in /gnu/store.

Ouf. :-)


Well, since it works as expected when run as root (#) and it fails when
run as a regular ($), I propose to diff various files in order to spot
what could be wrong.

Some details about some internals – well my understanding and I’m
perhaps missing important points –, then maybe they will explain the
logic behind the exploration. :-)

Roughly speaking, the items in the store look like:

/gnu/store/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-foobar-1.2.3

where ’foobar-1.2.3’ is a “label” corresponding to the package and
’xxx…’ is some hash. This hash is the core of the content-addressed;
the one that allow the substitution, i.e., download the artefacts.

Basically, this hash is computed by hashing the inputs and the script
builders. Therefore somehow it builds a chain and the roots are named
fixed-outputs. Fixed-outputs are items for which we known beforehand
the resulting hash. Else we cannot know the hash beforehand because
it’s hard to know beforehand the checksum of the artefact since the
artefact is the result of the build process (compilation, etc.).

In other words, the expectation is: the same inputs and the same builder
script returns the same store item. And the derivation captures that.
Well, for sure the content of the store item on two machines is the same
only if the process is fully deterministic; another story. ;-)

All that to say: if we scrutinize the derivations and the builder
scripts, then we will spot what introduces a difference.

Aside, please note that two different derivations might produce the same
store item, see for example [1].

Let’s go! :-)


a) Both root and regular must use the exact same Guix revision.

# As root
# readlink -f (type -P guix)
# guix describe

$ As regular user
$ readlink -f (type -P guix)
$ guix describe


b) If that’s not the case, it isn’t an issue for the following but it’s
better to know. :-)


c) Display the both derivations, as root and as regular user

# guix build -e '(@@ (gnu packages commencement) python-boot0)' -S -d

$ guix build -e '(@@ (gnu packages commencement) python-boot0)' -S -d


The expected situation is: as root,

# guix build -e '(@@ (gnu packages commencement) python-boot0)' -S

it just downloads stuff but as regular user:

$ guix build -e '(@@ (gnu packages commencement) python-boot0)' -S

then it builds stuff and one build fails.

Correct?


d) Display the content of the both derivations, as root and and regular
user.

drv=$(guix build -e '(@@ (gnu packages commencement) python-boot0)' -d -S)
cat $drv | sed 's/),/\n),/g'

Now we can try to find what can be wrong. :-)


Roughly, the inputs are one fixed-output and these three others:

/gnu/store/g08l2msvnivyi6x5nw52ak8n17sw9lzr-guile-bootstrap-2.0.drv
/gnu/store/38951a2gcwb4jyrwlzg634jfwkdih7m2-bootstrap-binaries-0.drv
/gnu/store/ff107pg13nkarix7k9hgxxwx9cnn4602-module-import-compiled.drv

Well, please note that the hash of these derivations might vary but not
their output. For instance,

# sed 's/]/\n]/g' \
/gnu/store/38951a2gcwb4jyrwlzg634jfwkdih7m2-bootstrap-binaries-0.drv \
| head -1
Derive([("out","/gnu/store/az8fi8xzgvkqw9aynxks98h29afal6i2-bootstrap-binaries-0","","")

Here the hash ’3895…’ might be different but not ’az8fi8…’. The same
derivation produces the same store item though.

Ok, let consider each. I know that piping with “sed” is not handy and
an extension [2] ]is still pending… Anyway, please pipe the derivations
in order to extract the relevant information.


1. /gnu/store/…-guile-bootstrap: it only depends on fixed-outputs so the
only source of variation comes from the script builder: in my case,

/gnu/store/nmxl6qyj16bv4rx4irhg23r66gn752kd-build-bootstrap-guile.sh

I expect you have the same. As root, you have because it’s the same
derivation, namely
/gnu/store/g08l2msvnivyi6x5nw52ak8n17sw9lzr-guile-bootstrap-2.0.drv.

What about the regular user?


2. /gnu/store/…-bootstrap-binaries: the inputs reads,

/gnu/store/ff107pg13nkarix7k9hgxxwx9cnn4602-module-import-compiled.drv
/gnu/store/g08l2msvnivyi6x5nw52ak8n17sw9lzr-guile-bootstrap-2.0.drv
/gnu/store/nf9h1l2apgjq1gjdv1ynpgqrmaj1bawb-static-binaries.tar.xz.drv
/gnu/store/sik0rp63q7hz4wry27v3ynljdmqvg194-xz.drv
/gnu/store/zn60yim3km5qx8d0vzvf9izfxzfdy4x0-tar.drv

Assuming #1 (identical guile-bootstrap) and the only non fixed-output is
module-import-compiled. Or the script builder.

Do you have the same script builder, namely

/gnu/store/kv2vjnp7f75wnq8rp579ihz96knqp0sl-bootstrap-binaries-0-builder

? I guess you have the same. Therefore, I guess the issue is from
module-import-compiled.


3. /gnu/store/…-module-import-compiled: On my machine, it reads:

Toggle snippet (14 lines)
Derive
([("out","/gnu/store/j2r95mqfir1q6hsavm0r22k8z49nbvk1-module-import-compiled","","")]
,[("/gnu/store/g08l2msvnivyi6x5nw52ak8n17sw9lzr-guile-bootstrap-2.0.drv",["out"])]
,["/gnu/store/jsxgc979x79h81kzqz9n6cpf5pk4z262-module-import","/gnu/store/l36kgiw25r2a4vllwad18jg8jnkvmzda-build-utils.scm","/gnu/store/rn7b0dq6iqfmmqyqzamix2mjmfygn31n-compile-modules"]
,"x86_64-linux","/gnu/store/lgi9x15a0w35mcpd7g1kb9274r6wy4pv-guile-bootstrap-2.0/bin/guile",["--no-auto-compile","/gnu/store/rn7b0dq6iqfmmqyqzamix2mjmfygn31n-compile-modules"]
,[("GUILE_WARN_DEPRECATED","no")
,("extensions","")
,("module count","1")
,("modules","/gnu/store/jsxgc979x79h81kzqz9n6cpf5pk4z262-module-import")
,("optimization level","1")
,("out","/gnu/store/j2r95mqfir1q6hsavm0r22k8z49nbvk1-module-import-compiled")
,("preferLocalBuild","1")])

I guess you also have the same build-utils.scm. Don’t you?

Therefore, I guess the difference is either an environment variable (the
list starting with GUILE_WARN_DEPRECATED) or the file
/gnu/store/…-qcompile-modules. Hum, it would be weird that it comes
from compile-modules…


Ah my train is at destination. To be continued… Let me know!

Cheers,
simon


1: Re: Derivations differ between computers?
zimoun <zimon.toutoune@gmail.com>
Fri, 26 Nov 2021 01:49:00 +0100
id:86lf1bspvn.fsf@gmail.com

2: Guix extension to display derivation (and rewrite fixed-output)
Simon Tournier <zimon.toutoune@gmail.com>
Fri, 12 Apr 2024 20:28:11 +0200
id:87ttk6phac.fsf@gmail.com
F
F
Fabrice Tudoret wrote on 18 Oct 08:12 +0200
(name . Simon Tournier)(address . zimon.toutoune@gmail.com)
9cbdaf02-3bea-47d9-bba1-2bf44c55a5be@univ-rennes1.fr
Hi Simon,
I'm still struggling with the issue, but I found a kind of work around.
When I create the user home dir manually, the "guix pull" work's fine.
So the trouble could come from a disorder with the automatic home dir
creation.
I wish it's the right track. I keep digging.
Regards,
Fabrice TUDORET
Laboratoire du Traitement du Signal et de l'Image
INSERM U-1099. Université de Rennes 1
Campus de Beaulieu. Bât 22. 35042. Rennes. France
Le 14/10/2024 à 14:03, Fabrice Tudoret a écrit :
Toggle quote (347 lines)
>
> Hi Simon,
>
> Thanks again for your involvement.
>
> I did my best to fullfill the tests you suggest. I put the output in
> your text.
>
> Essentially the output are the same for the root and the users, so the
> situation does not seem clearer to me, but I’m sure it will be
> different for you.
>
> Regards
>
> Fabrice T
> Le 11/10/2024 à 18:30, Simon Tournier a écrit :
>> Hi Fabrice,
>>
>> On Fri, 11 Oct 2024 at 15:13, Fabrice Tudoret<fabrice.tudoret@univ-rennes1.fr> wrote:
>>
>>> GUIX seem's to work fine with the root account and the local users but
>>> not with ldap users.
>> Ah, that doesn’t ring a bell but maybe it’s related. I don’t know.
>>
>>
>>> 1-
>> Just to be sure and since you have reinstalled, what is your Guix
>> revision?
> [root@cluster24 ~]# guix --version
> guix (GNU Guix) 7888351b9edd7b0199a973c75bc1c35897d9d7ef
> Copyright (C) 2024 the Guix authors
> License GPLv3+: GNU GPL version 3 or later<http://gnu.org/licenses/gpl.html>
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law.
>
>
>
>> On a side note, since it seems fine for the root account and here you
>> run it as root, I guess all is fine. :-) Although I don’t have the
>> same… ?
>>
>>> [root@cluster24 ~]# cat /gnu/store/jc3vgcsplqsim3na80b0n2iilna5j6gx-Python-3.5.9.tar.xz.drv | sed 's/)/)\n/g'
>>> Derive([("out","/gnu/store/cv4h89n30myf3nhjqnnahlbij2gaw21z-Python-3.5.9.tar.xz","","")
>>> ],[("/gnu/store/21c7pjahkh20mmzq2ivki57zwwvp6nwn-bootstrap-binaries-0.drv",["out"])
>>> ,("/gnu/store/5gf7f8awndhnf2gn2mzbfbqr3ix9aj80-module-import-compiled.drv",["out"])
>>> ,("/gnu/store/g08l2msvnivyi6x5nw52ak8n17sw9lzr-guile-bootstrap-2.0.drv",["out"])
>>> ,("/gnu/store/lb5b7svdmfj1ijnzrripsjcv0bhqzpwb-Python-3.5.9.tar.xz.drv",["out"])
>>> ],["/gnu/store/1s8jdafkyhz0p81l0j37yih9gbrb5gix-module-import","/gnu/store/h58cvdcdak4d87lw0fkvmkhan95ssljx-Python-3.5.9.tar.xz-builder"],"x86_64-linux","/gnu/store/lgi9x15a0w35mcpd7g1kb9274r6wy4pv-guile-bootstrap-2.0/bin/guile",["--no-auto-compile","-L","/gnu/store/1s8jdafkyhz0p81l0j37yih9gbrb5gix-module-import","-C","/gnu/store/gz5rcilhcsc5amgxcgyxvn0s5px8sg80-module-import-compiled","/gnu/store/h58cvdcdak4d87lw0fkvmkhan95ssljx-Python-3.5.9.tar.xz-builder"],[("guix properties","((type . origin)
>>> (patches . 0)
>>> )
>>> ")
>>> ,("out","/gnu/store/cv4h89n30myf3nhjqnnahlbij2gaw21z-Python-3.5.9.tar.xz")
>>> ])
>>>
>>>
>>> 2 -The script builder
>>> /gnu/store/ykqckrxcmifvxz0nb58lv2drgd14l377-Python-3.5.9.tar.xz-builder
>>> is well present in /gnu/store.
>> Ouf. :-)
>>
>>
>> Well, since it works as expected when run as root (#) and it fails when
>> run as a regular ($), I propose to diff various files in order to spot
>> what could be wrong.
>>
>> Some details about some internals – well my understanding and I’m
>> perhaps missing important points –, then maybe they will explain the
>> logic behind the exploration. :-)
>>
>> Roughly speaking, the items in the store look like:
>>
>> /gnu/store/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-foobar-1.2.3
>>
>> where ’foobar-1.2.3’ is a “label” corresponding to the package and
>> ’xxx…’ is some hash. This hash is the core of the content-addressed;
>> the one that allow the substitution, i.e., download the artefacts.
>>
>> Basically, this hash is computed by hashing the inputs and the script
>> builders. Therefore somehow it builds a chain and the roots are named
>> fixed-outputs. Fixed-outputs are items for which we known beforehand
>> the resulting hash. Else we cannot know the hash beforehand because
>> it’s hard to know beforehand the checksum of the artefact since the
>> artefact is the result of the build process (compilation, etc.).
>>
>> In other words, the expectation is: the same inputs and the same builder
>> script returns the same store item. And the derivation captures that.
>> Well, for sure the content of the store item on two machines is the same
>> only if the process is fully deterministic; another story. ;-)
>>
>> All that to say: if we scrutinize the derivations and the builder
>> scripts, then we will spot what introduces a difference.
>>
>> Aside, please note that two different derivations might produce the same
>> store item, see for example [1].
>>
>> Let’s go! :-)
>>
>>
>> a) Both root and regular must use the exact same Guix revision.
>>
>> # As root
>> # readlink -f (type -P guix)
>> # guix describe
>>
> [root@cluster24 ~]# readlink -f guix
>
> /root/guix
>
> [root@cluster24 ~]# type -P guix
>
> /root/.config/guix/current/bin/guix
>
> [root@cluster24 ~]# guix describe
>
> Generation 3 Oct 14 2024 08:46:12 (current)
>
> guix 7888351
>
> repository URL:https://git.savannah.gnu.org/git/guix.git
>
> branch: master
>
> commit: 7888351b9edd7b0199a973c75bc1c35897d9d7ef
>
>> $ As regular user
>> $ readlink -f (type -P guix)
>> $ guix describe
>
> [fmenna@cluster24 ~]$ readlink -f guix
>
> /NAS/home/fmenna/guix
>
> [fmenna@cluster24 ~]$ type -P guix
>
> /usr/local/bin/guix
>
> [fmenna@cluster24 ~]$ guix describe
>
> guix 7888351
>
> repository URL:https://git.savannah.gnu.org/git/guix.git
>
> branch: master
>
> commit: 7888351b9edd7b0199a973c75bc1c35897d9d7ef
>
>> b) If that’s not the case, it isn’t an issue for the following but it’s
>> better to know. :-)
>
>      It's seem ok.
>
>> c) Display the both derivations, as root and as regular user
>>
>> # guix build -e '(@@ (gnu packages commencement) python-boot0)' -S -d
>
> [root@cluster24 ~]# guix build -e '(@@ (gnu packages commencement) python-boot0)' -S -d
> /gnu/store/mbnrrqjizy3dvma9i3l8g5yvzi2p04ys-Python-3.5.9.tar.xz.drv
>
>> $ guix build -e '(@@ (gnu packages commencement) python-boot0)' -S -d
>
> [fmenna@cluster24 ~]$  guix build -e '(@@ (gnu packages commencement) python-boot0)' -S -d
> user with UID 255759 not found
> /gnu/store/mbnrrqjizy3dvma9i3l8g5yvzi2p04ys-Python-3.5.9.tar.xz.drv
>
> I hope the message "user with UID 255759 not found" has nothing to do
> with the issue.
>
>
>> The expected situation is: as root,
>>
>> # guix build -e '(@@ (gnu packages commencement) python-boot0)' -S
>>
>> it just downloads stuff but as regular user:
>>
>> $ guix build -e '(@@ (gnu packages commencement) python-boot0)' -S
>>
>> then it builds stuff and one build fails.
>>
>> Correct?
>
> There is no indication that it builds or fails.
>
>
>> d) Display the content of the both derivations, as root and and regular
>> user.
>>
>> drv=$(guix build -e '(@@ (gnu packages commencement) python-boot0)' -d -S)
>> cat $drv | sed 's/),/\n),/g'
>
>
> [root@cluster24 ~]# drv=$(guix build -e '(@@ (gnu packages commencement) python-boot0)' -d -S)
>   cat $drv | sed 's/),/\n),/g'
> Derive([("out","/gnu/store/jl82wnklrfhjgnml3s3w0l4m4mjwpazb-Python-3.5.9.tar.xz","","")],[("/gnu/store/38951a2gcwb4jyrwlzg634jfwkdih7m2-bootstrap-binaries-0.drv",["out"]
> ),("/gnu/store/ff107pg13nkarix7k9hgxxwx9cnn4602-module-import-compiled.drv",["out"]
> ),("/gnu/store/g08l2msvnivyi6x5nw52ak8n17sw9lzr-guile-bootstrap-2.0.drv",["out"]
> ),("/gnu/store/lb5b7svdmfj1ijnzrripsjcv0bhqzpwb-Python-3.5.9.tar.xz.drv",["out"])],["/gnu/store/jsxgc979x79h81kzqz9n6cpf5pk4z262-module-import","/gnu/store/ykqckrxcmifvxz0nb58lv2drgd14l377-Python-3.5.9.tar.xz-builder"],"x86_64-linux","/gnu/store/lgi9x15a0w35mcpd7g1kb9274r6wy4pv-guile-bootstrap-2.0/bin/guile",["--no-auto-compile","-L","/gnu/store/jsxgc979x79h81kzqz9n6cpf5pk4z262-module-import","-C","/gnu/store/j2r95mqfir1q6hsavm0r22k8z49nbvk1-module-import-compiled","/gnu/store/ykqckrxcmifvxz0nb58lv2drgd14l377-Python-3.5.9.tar.xz-builder"],[("guix properties","((type . origin) (patches . 0))"
> ),("out","/gnu/store/jl82wnklrfhjgnml3s3w0l4m4mjwpazb-Python-3.5.9.tar.xz")])
> [fmenna@cluster24 ~]$  drv=$(guix build -e '(@@ (gnu packages commencement) python-boot0)' -d -S)
>   cat $drv | sed 's/),/\n),/g'
> user with UID 255759 not found
> Derive([("out","/gnu/store/jl82wnklrfhjgnml3s3w0l4m4mjwpazb-Python-3.5.9.tar.xz","","")],[("/gnu/store/38951a2gcwb4jyrwlzg634jfwkdih7m2-bootstrap-binaries-0.drv",["out"]
> ),("/gnu/store/ff107pg13nkarix7k9hgxxwx9cnn4602-module-import-compiled.drv",["out"]
> ),("/gnu/store/g08l2msvnivyi6x5nw52ak8n17sw9lzr-guile-bootstrap-2.0.drv",["out"]
> ),("/gnu/store/lb5b7svdmfj1ijnzrripsjcv0bhqzpwb-Python-3.5.9.tar.xz.drv",["out"])],["/gnu/store/jsxgc979x79h81kzqz9n6cpf5pk4z262-module-import","/gnu/store/ykqckrxcmifvxz0nb58lv2drgd14l377-Python-3.5.9.tar.xz-builder"],"x86_64-linux","/gnu/store/lgi9x15a0w35mcpd7g1kb9274r6wy4pv-guile-bootstrap-2.0/bin/guile",["--no-auto-compile","-L","/gnu/store/jsxgc979x79h81kzqz9n6cpf5pk4z262-module-import","-C","/gnu/store/j2r95mqfir1q6hsavm0r22k8z49nbvk1-module-import-compiled","/gnu/store/ykqckrxcmifvxz0nb58lv2drgd14l377-Python-3.5.9.tar.xz-builder"],[("guix properties","((type . origin) (patches . 0))"
> ),("out","/gnu/store/jl82wnklrfhjgnml3s3w0l4m4mjwpazb-Python-3.5.9.tar.xz")])
>
>
> There is no difference in those output between root and regular user.
>
>
>> Now we can try to find what can be wrong. :-)
>>
>>
>> Roughly, the inputs are one fixed-output and these three others:
>>
>> /gnu/store/g08l2msvnivyi6x5nw52ak8n17sw9lzr-guile-bootstrap-2.0.drv
>> /gnu/store/38951a2gcwb4jyrwlzg634jfwkdih7m2-bootstrap-binaries-0.drv
>> /gnu/store/ff107pg13nkarix7k9hgxxwx9cnn4602-module-import-compiled.drv
>>
>> Well, please note that the hash of these derivations might vary but not
>> their output. For instance,
>>
>> # sed 's/]/\n]/g' \
>> /gnu/store/38951a2gcwb4jyrwlzg634jfwkdih7m2-bootstrap-binaries-0.drv \
>> | head -1
>> Derive([("out","/gnu/store/az8fi8xzgvkqw9aynxks98h29afal6i2-bootstrap-binaries-0","","")
>>
>> Here the hash ’3895…’ might be different but not ’az8fi8…’. The same
>> derivation produces the same store item though.
>>
>> Ok, let consider each. I know that piping with “sed” is not handy and
>> an extension [2] ]is still pending… Anyway, please pipe the derivations
>> in order to extract the relevant information.
> [root@cluster24 ~]# sed 's/]/\n]/g' \
>       /gnu/store/38951a2gcwb4jyrwlzg634jfwkdih7m2-bootstrap-binaries-0.drv | head -1
> Derive([("out","/gnu/store/az8fi8xzgvkqw9aynxks98h29afal6i2-bootstrap-binaries-0","","")
> [fmenna@cluster24 ~]$ sed 's/]/\n]/g' \
> >  /gnu/store/38951a2gcwb4jyrwlzg634jfwkdih7m2-bootstrap-binaries-0.drv | head -1
> Derive([("out","/gnu/store/az8fi8xzgvkqw9aynxks98h29afal6i2-bootstrap-binaries-0","","")
>
>> 1. /gnu/store/…-guile-bootstrap: it only depends on fixed-outputs so the
>> only source of variation comes from the script builder: in my case,
>>
>> /gnu/store/nmxl6qyj16bv4rx4irhg23r66gn752kd-build-bootstrap-guile.sh
>
> I have the same:
>
> [root@cluster24 ~]# find /gnu/store -name "*build-bootstrap-guile.sh"
> /gnu/store/nmxl6qyj16bv4rx4irhg23r66gn752kd-build-bootstrap-guile.sh
>
>> I expect you have the same. As root, you have because it’s the same
>> derivation, namely
>> /gnu/store/g08l2msvnivyi6x5nw52ak8n17sw9lzr-guile-bootstrap-2.0.drv.
>>
>> What about the regular user?
>
> The same too.
>
>> 2. /gnu/store/…-bootstrap-binaries: the inputs reads,
>>
>> /gnu/store/ff107pg13nkarix7k9hgxxwx9cnn4602-module-import-compiled.drv
>> /gnu/store/g08l2msvnivyi6x5nw52ak8n17sw9lzr-guile-bootstrap-2.0.drv
>> /gnu/store/nf9h1l2apgjq1gjdv1ynpgqrmaj1bawb-static-binaries.tar.xz.drv
>> /gnu/store/sik0rp63q7hz4wry27v3ynljdmqvg194-xz.drv
>> /gnu/store/zn60yim3km5qx8d0vzvf9izfxzfdy4x0-tar.drv
>>
>> Assuming #1 (identical guile-bootstrap) and the only non fixed-output is
>> module-import-compiled. Or the script builder.
>>
>> Do you have the same script builder, namely
>>
>> /gnu/store/kv2vjnp7f75wnq8rp579ihz96knqp0sl-bootstrap-binaries-0-builder
>>
>> ? I guess you have the same. Therefore, I guess the issue is from
>> module-import-compiled.
>
> I've the same:
>
> [root@cluster24 ~]# find /gnu/store -name "*bootstrap-binaries-0-builder"
> /gnu/store/kv2vjnp7f75wnq8rp579ihz96knqp0sl-bootstrap-binaries-0-builder
>
>
>> 3. /gnu/store/…-module-import-compiled: On my machine, it reads:
>>
>> --8<---------------cut here---------------start------------->8---
>> Derive
>> ([("out","/gnu/store/j2r95mqfir1q6hsavm0r22k8z49nbvk1-module-import-compiled","","")]
>> ,[("/gnu/store/g08l2msvnivyi6x5nw52ak8n17sw9lzr-guile-bootstrap-2.0.drv",["out"])]
>> ,["/gnu/store/jsxgc979x79h81kzqz9n6cpf5pk4z262-module-import","/gnu/store/l36kgiw25r2a4vllwad18jg8jnkvmzda-build-utils.scm","/gnu/store/rn7b0dq6iqfmmqyqzamix2mjmfygn31n-compile-modules"]
>> ,"x86_64-linux","/gnu/store/lgi9x15a0w35mcpd7g1kb9274r6wy4pv-guile-bootstrap-2.0/bin/guile",["--no-auto-compile","/gnu/store/rn7b0dq6iqfmmqyqzamix2mjmfygn31n-compile-modules"]
>> ,[("GUILE_WARN_DEPRECATED","no")
>> ,("extensions","")
>> ,("module count","1")
>> ,("modules","/gnu/store/jsxgc979x79h81kzqz9n6cpf5pk4z262-module-import")
>> ,("optimization level","1")
>> ,("out","/gnu/store/j2r95mqfir1q6hsavm0r22k8z49nbvk1-module-import-compiled")
>> ,("preferLocalBuild","1")])
>> --8<---------------cut here---------------end--------------->8---
>>
>> I guess you also have the same build-utils.scm. Don’t you?
>
> I've the exactly the same content in the file
> /gnu/store/ff107pg13nkarix7k9hgxxwx9cnn4602-module-import-compiled.drv
>
> [root@cluster24 ~]# cat /gnu/store/ff107pg13nkarix7k9hgxxwx9cnn4602-module-import-compiled.drv
> Derive([("out","/gnu/store/j2r95mqfir1q6hsavm0r22k8z49nbvk1-module-import-compiled","","")]
> ,[("/gnu/store/g08l2msvnivyi6x5nw52ak8n17sw9lzr-guile-bootstrap-2.0.drv",["out"])]
> ,["/gnu/store/jsxgc979x79h81kzqz9n6cpf5pk4z262-module-import","/gnu/store/l36kgiw25r2a4vllwad18jg8jnkvmzda-build-utils.scm","/gnu/store/rn7b0dq6iqfmmqyqzamix2mjmfygn31n-compile-modules"]
> ,"x86_64-linux","/gnu/store/lgi9x15a0w35mcpd7g1kb9274r6wy4pv-guile-bootstrap-2.0/bin/guile",["--no-auto-compile","/gnu/store/rn7b0dq6iqfmmqyqzamix2mjmfygn31n-compile-modules"]
> ,[("GUILE_WARN_DEPRECATED","no")
> ,("extensions","")
> ,("module count","1")
> ,("modules","/gnu/store/jsxgc979x79h81kzqz9n6cpf5pk4z262-module-import")
> ,("optimization level","1"),("out","/gnu/store/j2r95mqfir1q6hsavm0r22k8z49nbvk1-module-import-compiled")
> ,("preferLocalBuild","1")])
>
> About the build-utils.scm, they are also identical:
>
> /root/.cache/guix/checkouts/pjmkglp4t7znuugeurpurzikxq3tnlaywmisyr27shj7apsnalwq/tests/build-utils.scm
> /NAS/home/fmenna/.cache/guix/checkouts/pjmkglp4t7znuugeurpurzikxq3tnlaywmisyr27shj7apsnalwq/tests/build-utils.scm
>
>> Therefore, I guess the difference is either an environment variable (the
>> list starting with GUILE_WARN_DEPRECATED) or the file
>> /gnu/store/…-qcompile-modules. Hum, it would be weird that it comes
>> from compile-modules…
>
>
>
>> Ah my train is at destination. To be continued… Let me know!
>>
>> Cheers,
>> simon
>>
>>
>> 1: Re: Derivations differ between computers?
>> zimoun<zimon.toutoune@gmail.com>
>> Fri, 26 Nov 2021 01:49:00 +0100
>> id:86lf1bspvn.fsf@gmail.com
>> https://lists.gnu.org/archive/html/guix-devel/2021-11
>> https://yhetil.org/guix/86lf1bspvn.fsf@gmail.cmo
>>
>> 2: Guix extension to display derivation (and rewrite fixed-output)
>> Simon Tournier<zimon.toutoune@gmail.com>
>> Fri, 12 Apr 2024 20:28:11 +0200
>> id:87ttk6phac.fsf@gmail.com
>> https://lists.gnu.org/archive/html/guix-devel/2024-04
>> https://yhetil.org/guix/87ttk6phac.fsf@gmail.com
Attachment: file
Attachment: smime.p7s
S
S
Simon Tournier wrote on 28 Oct 16:52 +0100
Re: bug#73602: bug#73601: failed to compute the derivation for Guix
(name . Fabrice Tudoret)(address . fabrice.tudoret@univ-rennes1.fr)
878qu85ini.fsf@gmail.com
Hi,

Sorry for the late reply.

On Mon, 14 Oct 2024 at 14:03, Fabrice Tudoret <fabrice.tudoret@univ-rennes1.fr> wrote:

Toggle quote (17 lines)
>> c) Display the both derivations, as root and as regular user
>>
>> # guix build -e '(@@ (gnu packages commencement) python-boot0)' -S -d
>
> [root@cluster24 ~]# guix build -e '(@@ (gnu packages commencement) python-boot0)' -S -d
> /gnu/store/mbnrrqjizy3dvma9i3l8g5yvzi2p04ys-Python-3.5.9.tar.xz.drv
>
>>
>> $ guix build -e '(@@ (gnu packages commencement) python-boot0)' -S -d
>
> [fmenna@cluster24 ~]$  guix build -e '(@@ (gnu packages commencement) python-boot0)' -S -d
> user with UID 255759 not found
> /gnu/store/mbnrrqjizy3dvma9i3l8g5yvzi2p04ys-Python-3.5.9.tar.xz.drv
>
> I hope the message "user with UID 255759 not found" has nothing to do
> with the issue.

Well, this message comes from the Guix daemon (see nix-daemon.cc file):

/* Open the store. */
store = std::shared_ptr<StoreAPI>(new LocalStore(reserveSpace));

if (userId != (uid_t) -1) {
/* Create the user profile. */
struct passwd *pw = getpwuid(userId);
if (pw != NULL && pw->pw_name != NULL)
store->createUser(pw->pw_name, userId);
else
printMsg(lvlInfo, format("user with UID %1% not found") % userId);
}


Hum, that’s not clear for me. The daemon is a beast… Maybe this has an
impact. For sure, aside Guix, I think it would be better to fix it. :-)

Well, I do not know why but this other message:

> When I create the user home dir manually, the "guix pull" work's fine.
> So the trouble could come from a disorder with the automatic home dir
> creation.

> I wish it's the right track. I keep digging.

spots the light on UID. :-)

Cheers,
simon
F
F
Fabrice Tudoret wrote on 5 Nov 15:00 +0100
(name . Simon Tournier)(address . zimon.toutoune@gmail.com)
5a229bd0-826b-430e-80cc-16ce9f87245b@univ-rennes1.fr
Hi Simon,
The storm is over and users no longer complain.
It seems that all the problems came from a disorder in the NAS
permissions. I didn't mention that the home is hosted by a NAS.
I guess this disorder disturbed first the sssd and mkhomedir and since
guix.
I will be careful for the next user.
Thank you again  for your efforts and advices.
Regards,
Fabrice TUDORET
Laboratoire du Traitement du Signal et de l'Image
INSERM U-1099. Université de Rennes 1
Campus de Beaulieu. Bât 22. 35042. Rennes. France
Le 28/10/2024 à 16:52, Simon Tournier a écrit :
Toggle quote (50 lines)
> Hi,
>
> Sorry for the late reply.
>
> On Mon, 14 Oct 2024 at 14:03, Fabrice Tudoret <fabrice.tudoret@univ-rennes1.fr> wrote:
>
>>> c) Display the both derivations, as root and as regular user
>>>
>>> # guix build -e '(@@ (gnu packages commencement) python-boot0)' -S -d
>> [root@cluster24 ~]# guix build -e '(@@ (gnu packages commencement) python-boot0)' -S -d
>> /gnu/store/mbnrrqjizy3dvma9i3l8g5yvzi2p04ys-Python-3.5.9.tar.xz.drv
>>
>>> $ guix build -e '(@@ (gnu packages commencement) python-boot0)' -S -d
>> [fmenna@cluster24 ~]$  guix build -e '(@@ (gnu packages commencement) python-boot0)' -S -d
>> user with UID 255759 not found
>> /gnu/store/mbnrrqjizy3dvma9i3l8g5yvzi2p04ys-Python-3.5.9.tar.xz.drv
>>
>> I hope the message "user with UID 255759 not found" has nothing to do
>> with the issue.
> Well, this message comes from the Guix daemon (see nix-daemon.cc file):
>
> /* Open the store. */
> store = std::shared_ptr<StoreAPI>(new LocalStore(reserveSpace));
>
> if (userId != (uid_t) -1) {
> /* Create the user profile. */
> struct passwd *pw = getpwuid(userId);
> if (pw != NULL && pw->pw_name != NULL)
> store->createUser(pw->pw_name, userId);
> else
> printMsg(lvlInfo, format("user with UID %1% not found") % userId);
> }
>
>
> Hum, that’s not clear for me. The daemon is a beast… Maybe this has an
> impact. For sure, aside Guix, I think it would be better to fix it. :-)
>
> Well, I do not know why but this other message:
>
> > When I create the user home dir manually, the "guix pull" work's fine.
> > So the trouble could come from a disorder with the automatic home dir
> > creation.
>
> > I wish it's the right track. I keep digging.
>
> spots the light on UID. :-)
>
> Cheers,
> simon
>
Attachment: smime.p7s
S
S
Simon Tournier wrote on 7 Nov 15:25 +0100
(name . Fabrice Tudoret)(address . fabrice.tudoret@univ-rennes1.fr)
875xozjf35.fsf@gmail.com
Hi Fabrice,

On Tue, 05 Nov 2024 at 15:00, Fabrice Tudoret <fabrice.tudoret@univ-rennes1.fr> wrote:

Toggle quote (2 lines)
> The storm is over and users no longer complain.

Cool! Good news. :-)

Closing?

Cheers,
simon
L
L
Ludovic Courtès wrote on 11 Nov 00:25 +0100
control message for bug #73602
(address . control@debbugs.gnu.org)
87pln2vfhk.fsf@gnu.org
tags 73602 notabug
close 73602
quit
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 73601@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 73601
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch