Subject: Re: bug#32797: gcrypt won't compile during 'guix pull'

From: [email-masked] (Ludovic Courtès)
Date: Sat, 22 Sep 2018 15:07:10 +0200

Hello znavko,

znavko <[email-masked]> skribis:

> The following derivations will be built:
>    /gnu/store/d4r9mpqp5xa4k58akad1aq3xdcdbfabk-guix-e0b07ccc1-modules.drv
>    /gnu/store/gmpr0hbdyy174bz0iijka994frabmnh5-config.scm.drv
>    /gnu/store/328ckyk2a94jqrfms3g7kgxzwg44y2yb-guix-config.drv
>    /gnu/store/33nzis2q60i8d2k6js0k95birzgnxzw7-guix-system.drv
>    /gnu/store/8ncrx1h6piq3276z5914dx74v1sg6c6r-guix-config-source.drv
>    /gnu/store/hgfcwzi8xjmf0nv5p7pln08bx7n30sw9-guix-packages.drv
>    /gnu/store/nrc7qq93lh4j4qx3wwsvlp2g5j5n0g4z-guix-extra.drv
>    /gnu/store/pib2zn4yxpxldq57x66wsjs50va0jlwy-guix-core-source.drv
>    /gnu/store/rlm6rvar7c7c53mg38331l39s0mrdfzf-guix-cli.drv
>    /gnu/store/rzpzsw9dj736gdvnvs0023lgc22jxxch-guix-packages-base.drv
>    /gnu/store/x4f13g6ghwnxmdq143pzvhcbbakwipdk-guix-core.drv
> compiling...    100.0% of 38 files
> loading...     97.4% of 115 filesrandom seed for tests: 1537520378
> compiling...    100.0% of 115 files
> compiling...    100.0% of 1 files
> compiling...    100.0% of 233 files
> compiling...    100.0% of 180 files
> compiling...    100.0% of 68 files
> compiling...    100.0% of 40 files
> updated GNU Guix successfully deployed under `/root/.config/guix/latest'
>
> # guix list-generations

[...]

> ERROR: In procedure scm-error:
> no code for module (gcrypt hash)

The message by ‘guix pull’ shows that you were running a version of
‘guix pull’ that predates Guix 0.15.0.  Version 0.15.0 introduced an
overhaul of ‘guix pull’, precisely to solve the kind of issues that you
experienced here.

The transition from pre-0.15.0 is inconvenient and goes along these
lines:

  1. Run ‘guix pull’ like you already did;

  2. Install guile-gcrypt by running:

       guix package -i
       /gnu/store/c58hm7wm8i5fwfckzb168bmiqa2nw3w9-guile-gcrypt-0.1.0

  3. Re-run ‘guix pull’.

  4. Make the new ‘guix’ available from the command-line:

      export PATH=$HOME/.config/guix/current/bin:$PATH
      hash guix

This last step gives you the latest post-0.15.0 ‘guix pull’.  If you run
‘guix describe’, it should print you the commit currently used.

HTH!

Ludo’.