help-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: "libc.so.6: version `GLIBC_2.33' not found" with guix time-machine -


From: Leo Famulari
Subject: Re: "libc.so.6: version `GLIBC_2.33' not found" with guix time-machine --channels
Date: Sat, 8 Jan 2022 13:50:43 -0500

On Sat, Jan 08, 2022 at 04:11:55PM +0100, Wiktor Żelazny wrote:
> Guessing that this has something to do with glibc system-wide version
> upgrade (no idea, why X libraries are involved here, though), I tried:
> 
>    guix pull --delete-generations=1m
>    sudo guix system delete-generations 1m
>    guix gc --delete-generations=1m
> 
> in an attempt to force removal of old store items in hope that they
> would be rebuilt and relinked to the new glibc.

A point of clarification on this subject:

When you build a Guix package, its entire dependency graph including
glibc (and all the way down to the bootstrap) is already specified. The
dependencies are "set in stone" before you start building. You can
rebuild the package as many times as you want, but its dependencies will
never change.

When I say the dependency graph is already specified, I am referring to
all the package definitions found in our Git repo. Whenever you use
Guix, you are using a particular revision ("commit") of the Git repo.
You can check which revision is currently effective with the `guix
describe` command:

For example:

------
$ guix describe
Generation 184  Jan 02 2022 13:19:48    (current)
  guix dfc5d52
    repository URL: https://git.savannah.gnu.org/git/guix.git
    commit: dfc5d5247f0e3d355c25484ea3d95ba2a6077895
------

So, any time I use Guix to build or install a package, it will do so
based on the package definitions found at commit dfc5d5247f0 in our Git
repo — no matter what you do, the dependencies will not change until you
run `guix pull` or use `guix time-machine`.

Therefore, if you want to use a given package with a different version
of glibc, you'll need to either 1) Use `guix pull` or `guix
time-machine` to build that package with the desired glibc version or
2) Create a new package definition that depends on a different version
of glibc.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]