Subject: Re: bug#62949: libgcrypt version in core-updates

From: Ludovic Courtès <[email-masked]>
Date: Wed, 19 Apr 2023 22:40:44 +0200

Hi,

Andreas Enge <[email-masked]> skribis:

> My environment is Debian on aarch64, with Guix as the package manager.
> So it is possible that the Debian environment disturbs what is happening;
> but I see the problem depending on whether I install the new or the old
> libgcrypt from Guix.
>
> Here are lines from config.log with things related to crypto in them:
> configure:8987: checking whether Guile-Gcrypt is available and recent enough
> configure:9005: result: yes
> ...
> configure:9062: WARNING: The Guile-Lib requirement was not satisfied (>= 0.2.7);
> Some features such as the Go importer will not be usable.
>     (not crypto related, but suspicious)
> ...
> configure:9435: checking for libgcrypt-config
> configure:9458: found /home/andreas/.guix-profile/bin/libgcrypt-config
> configure:9470: result: /home/andreas/.guix-profile/bin/libgcrypt-config
> configure:9478: checking libgcrypt's library directory
> configure:9490: result: /gnu/store/2xsdih7m18d0f2kiicxrh9pwinjfwzkj-libgcrypt-1.10.1/lib
> configure:10900: checking for gcry_md_open in -lgcrypt
> configure:10922: g++ -o conftest -g -O2    conftest.cpp -lgcrypt   >&5
> ld: /home/andreas/.guix-profile/lib/libgpg-error.so.0: undefined reference to [email-masked]' 

That’s the thing: you have libgpg-error.so linked against glibc 2.33
popping up, and that doesn’t fly with glibc 2.35¹.

You need to pick up one consistent environment (with a single glibc
version) and stick to it.  The most reliable way to do that is by using
‘guix shell -C -D guix’ and then running “make clean” to begin with.

HTH!

Ludo’.

¹ The details are in the ‘NEWS’ for glibc 2.34:

  * In order to support smoother in-place-upgrades and to simplify
    the implementation of the runtime all functionality formerly
    implemented in the libraries libpthread, libdl, libutil, libanl has
    been integrated into libc.  New applications do not need to link with
    -lpthread, -ldl, -lutil, -lanl anymore.