Florent Georges <[email protected]> writes:

> Thank you, Rutherther!
>
> I removed the directory "/var/guix/profiles/per-user/[me]/guix-profile"
> (this was a soft link, I only removed the link.)  Then now it keeps
> complaining that it does not exist:
>
>> guix package --list-generations
> guix package: error: profile
> '/var/guix/profiles/per-user/[me]/guix-profile' does not exist

Yes, that is expected, you cannot list something that doesn't exist. But
you shouldn't have removed only guix-profile, you need to remove all
`guix-profile*` files to remove all generations. (ie
guix-profile-1-link) You need to install
something to recreate the profile and then you will have new generation.

>
>> sudo guix gc --verify=contents,repair
> reading the store...
> checking path existence...
> checking hashes...
>
>> guix package --list-generations
> guix package: error: profile
> '/var/guix/profiles/per-user/[me]/guix-profile' does not exist
>
>> guix pull
> Updating channel 'guix' from Git repository at '
> https://git.savannah.gnu.org/git/guix.git'...
> Authenticating channel 'guix', commits 9edb3f6 to db6361b (148 new
> commits)...
> guix pull: warning: pulled channel 'guix' from a mirror of
> https://git.guix.gnu.org/guix.git, which might be stale
> Building from this channel:
>   guix      https://git.savannah.gnu.org/git/guix.git db6361b
> 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%
> building /gnu/store/5j0mgrqayhwjb477nvh0yxcbzyp8ydh1-module-import.drv...
> building /gnu/store/6ifsili4nfngw5rv233v9qyn4jjxm9xx-module-import.drv...
> building
> /gnu/store/f4zzcq56p5clxz0y9s8fs26782bb89z5-module-import-compiled.drv...
> building
> /gnu/store/4agwf0i2qxv63ac7b53349a21h0nbwip-module-import-compiled.drv...
> building
> /gnu/store/iwswd6ry46n81px4ncxncqk22y7ww9kf-compute-guix-derivation.drv...
> Computing Guix derivation for 'x86_64-linux'... /
> substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
> The following derivations will be built:
>    /gnu/store/bg8afwdrrh72yvskgwqvdbmabi87rc7i-profile.drv
>    /gnu/store/gnwriggfmd35w84xl58d235g0rlzz4vm-guix-db6361bc2.drv
>    /gnu/store/0158iv2y96idnd0l2n2bhjc2q1w37yyz-guix-db6361bc2-modules.drv
>    /gnu/store/01px5lnffcsri0z2pwk6apxc33lbzcii-guix-core-modules.drv
>    /gnu/store/l3c1gba3r2d6lgx48jvy3c41pbb59gs5-guix-core-source.drv
>    /gnu/store/5yzxx8w3vm7lcjjqjb2vyyn9xwhl1jz8-guix-system-tests-modules.drv
>    /gnu/store/aaf9z3lwg4f50vxd3c4jvdflp0i170kg-guix-home-modules.drv
>    /gnu/store/cq1xbzgr6m0j4lf9iq64vr44irj90mid-guix-cli-core-modules.drv
>    /gnu/store/mcwwakpbs3gga15a7z8y5yinb4x96pwr-guix-cli-modules.drv
>    /gnu/store/p1719zq0c9gdj0gbwip5zk12jc0m1jjc-guix-system-modules.drv
>    /gnu/store/pgb2xp630qbqny4gz7bdmq5cmv9ybpj8-guix-extra-modules.drv
>
>  /gnu/store/rjs3bfc97v405ppiw8cm4f6q8hn7wxd5-guix-packages-base-modules.drv
>    /gnu/store/vcbf9gfkxgk2rwjbwna2jrpygp5k0jgx-guix-packages-modules.drv
>    /gnu/store/w02568g22v0g5975p7m1wfjrmkdagdvs-guix-config-modules.drv
>    /gnu/store/9bqs49qzny4b2757xg9rahws60ghflx5-guix-config.drv
>    /gnu/store/rp36m4gs7lmrk1lfzdlzwp242ymb9b2y-guix-config-source.drv
>    /gnu/store/64x69bcmcnvaqvaisj91kxbnyrx584bj-config.scm.drv
>    /gnu/store/5y0mr9kh663dikgia7bn2abmwd70rwk3-guix-command.drv
>    /gnu/store/pzlqjl0w3kbzrjy008mj1mdwvd4v3ra0-guix-module-union.drv
>    /gnu/store/gsqgw0qf44r3ijvklal4wb30nng6gvgb-guix-misc.drv
>    /gnu/store/jmd6m62iy3325rsbcrd9f81hd0ijasfq-guix-daemon.drv
>    /gnu/store/0vj68r13bg67qz89ljqidlrdp38z98mx-profile.drv
>    /gnu/store/hkjjp470yhhmrah8fc9pvi5hnmdsg6vc-inferior-script.scm.drv
>
> 48.8 MB will be downloaded
>  guix-manual  6.9MiB                                      2.0MiB/s 00:03
> [##################] 100.0%
>  guile-gnutls-5.0.1  129KiB                               3.1MiB/s 00:00
> [##################] 100.0%
>  guix-cli  348KiB                                         2.9MiB/s 00:00
> [##################] 100.0%
>  guix-cli-core  867KiB                                    3.1MiB/s 00:00
> [##################] 100.0%
>  guix-core                                                       2.9MiB/s
> 00:01 | 2.2MiB transferred
>  guix-daemon-1.4.0-43.9202921                                    697KiB/s
> 00:01 | 404KiB transferred
>  guix-daemon.service  1KiB                                1.3MiB/s 00:00
> [##################] 100.0%
>  guix-daemon.cil  3KiB                                    633KiB/s 00:00
> [##################] 100.0%
>  guix-extra  3.1MiB                                       470KiB/s 00:07
> [##################] 100.0%
>  guix-gc.service  500B                                    365KiB/s 00:00
> [##################] 100.0%
>  guix-home                                                       119KiB/s
> 00:12 | 1.4MiB transferred
>  guix-locale-guix-packages  494KiB                        2.1MiB/s 00:00
> [##################] 100.0%
>  guix-packages                                                   2.5MiB/s
> 00:01 | 2.4MiB transferred
>  guix-packages-base  18.6MiB                              315KiB/s 01:01
> [##################] 100.0%
>  guix-publish.service  563B                               329KiB/s 00:00
> [##################] 100.0%
>  guix-system                                                    285KiB/s
> 00:45 | 12.5MiB transferred
>  guix-system-tests  992KiB                                1.1MiB/s 00:01
> [##################] 100.0%
> building /gnu/store/64x69bcmcnvaqvaisj91kxbnyrx584bj-config.scm.drv...
> building
> /gnu/store/cq1xbzgr6m0j4lf9iq64vr44irj90mid-guix-cli-core-modules.drv...
> building /gnu/store/mcwwakpbs3gga15a7z8y5yinb4x96pwr-guix-cli-modules.drv...
> building
> /gnu/store/rp36m4gs7lmrk1lfzdlzwp242ymb9b2y-guix-config-source.drv...
> building /gnu/store/l3c1gba3r2d6lgx48jvy3c41pbb59gs5-guix-core-source.drv...
> building /gnu/store/9bqs49qzny4b2757xg9rahws60ghflx5-guix-config.drv...
> building
> /gnu/store/01px5lnffcsri0z2pwk6apxc33lbzcii-guix-core-modules.drv...
> building
> /gnu/store/w02568g22v0g5975p7m1wfjrmkdagdvs-guix-config-modules.drv...
> building
> /gnu/store/pgb2xp630qbqny4gz7bdmq5cmv9ybpj8-guix-extra-modules.drv...
> building
> /gnu/store/aaf9z3lwg4f50vxd3c4jvdflp0i170kg-guix-home-modules.drv...
> building /gnu/store/gsqgw0qf44r3ijvklal4wb30nng6gvgb-guix-misc.drv...
> building
> /gnu/store/rjs3bfc97v405ppiw8cm4f6q8hn7wxd5-guix-packages-base-modules.drv...
> building
> /gnu/store/vcbf9gfkxgk2rwjbwna2jrpygp5k0jgx-guix-packages-modules.drv...
> building
> /gnu/store/p1719zq0c9gdj0gbwip5zk12jc0m1jjc-guix-system-modules.drv...
> building
> /gnu/store/5yzxx8w3vm7lcjjqjb2vyyn9xwhl1jz8-guix-system-tests-modules.drv...
> building
> /gnu/store/0158iv2y96idnd0l2n2bhjc2q1w37yyz-guix-db6361bc2-modules.drv...
> building
> /gnu/store/pzlqjl0w3kbzrjy008mj1mdwvd4v3ra0-guix-module-union.drv...
> building /gnu/store/5y0mr9kh663dikgia7bn2abmwd70rwk3-guix-command.drv...
> building /gnu/store/jmd6m62iy3325rsbcrd9f81hd0ijasfq-guix-daemon.drv...
> building /gnu/store/gnwriggfmd35w84xl58d235g0rlzz4vm-guix-db6361bc2.drv...
> building CA certificate bundle...
> building fonts directory...
> building directory of Info manuals...
> building database for manual pages...
> building profile with 1 package...
> building
> /gnu/store/hkjjp470yhhmrah8fc9pvi5hnmdsg6vc-inferior-script.scm.drv...
> building package cache...
> building profile with 1 package...
> hint: Consider setting the necessary environment variables by running:
>
>      GUIX_PROFILE="/home/fgeorges/.config/guix/current"
>      . "$GUIX_PROFILE/etc/profile"
>
> Alternately, see `guix package --search-paths -p
> "/home/fgeorges/.config/guix/current"'.
>
> New in this revision:
>   15,669 new packages: 9base, 9yacc, a2jmidid, aacircuit, aardvark-dns,
> abc-yosyshq,
>     abjad, abjad-ext-nauert, abjad-ext-rmakers, ablorb,
> abstractdark-sddm-theme, ack, …
>   8,007 packages upgraded: [email protected], [email protected], [email protected],
> [email protected],
>     [email protected], [email protected], [email protected], [email protected], [email protected],
> [email protected],
>     [email protected], [email protected], …
>
> News for channel 'guix'
>   New `guix-daemon' privilege escalation vulnerability fixed
>
> hint: Run `guix pull --news' to read all the news.
>
> hint: After setting `PATH', run `hash guix' to make sure your shell refers
> to
> `/home/[me]/.config/guix/current/bin/guix'.
>
>> guix package --list-generations
> guix package: error: profile
> '/var/guix/profiles/per-user/[me]/guix-profile' does not exist
>
> Was I supposed to run something else to "recreate" the link "guix-profile"?

Yes, install something.

Rutherther

>
> Sorry if this sounds obvious, but I am stuck here.  Thank you for the help,
> much appreciated!
>
> -- 
> Florent Georges
> H2O Consulting
> http://h2o.consulting/
>
>
>
>
> On Mon, 1 Sept 2025 at 15:18, Rutherther <[email protected]> wrote:
>
>>
>> Hi,
>>
>> Florent Georges <[email protected]> writes:
>>
>> > Thank you, Rutherther!  I ran the following:
>> >
>> >> sudo guix gc --verify=contents,repair
>> > reading the store...
>> > checking path existence...
>> > checking hashes...
>>
>> So this is all? That would mean there is no corruption and then I do not
>> really know how the error can be occurring tbh.
>>
>> >
>> > I tried again "guix package -l" after, but I still get the same error.
>>
>> I would expect nothing else, since even if there was corruption, it is
>> not fixable as user profiles are not substitutable.
>>
>> >
>> > I have no idea what you mean by "you will probably have to switch to
>> > earlier generation, and remove the one affected by the corruption"
>>
>> Guix package uses generations, every time you
>> install something new generation is created. You can manage them with
>> `guix package` --list-generations, --delete-generations,
>> --switch-generations.
>>
>> >
>> > On the other hand, since I know exactly the list of 10-ish packages I
>> have
>> > installed using Guix, it might be easier to delete/uninstall Guix
>> > completely.  Then install it fresh again.  Any specific things to be
>> > careful with if I chose that path?
>>
>> This is an excessive reaction as the issue is only in your user's
>> profiles, so there should be no reason to get rid of guix completely.
>> You can just remove stuff under /var/guix/profiles/per-user/$USER. That
>> way you reset your user's profiles state. Or you should actually be able
>> to remove just /var/guix/profiles/per-user/$USER/guix-profile*, leaving
>> current-guix untouched (current-guix is the profile you get from guix
>> pull), if you don't have problems with pull, you don't have to remove
>> that one.
>>
>> Nope, no specific things to be careful about, if you decide to nuke
>> Guix, make sure to nuke both /var/guix and /gnu/store (or if you just
>> use guix-install.sh --uninstall it will do it for you). As long as you
>> remove everything, it is fine. What would be problematic is if you left
>> one without the other.
>>
>> Rutherther
>>
>> >
>> > ju,
>> >
>> > --
>> > Florent Georges
>> > H2O Consulting
>> > http://h2o.consulting/
>> >
>> >
>> >
>> >
>> > On Sun, 31 Aug 2025 at 18:22, Rutherther <[email protected]> wrote:
>> >
>> >>
>> >> Hi Florent,
>> >>
>> >> Florent Georges <[email protected]> writes:
>> >>
>> >> > Hi,
>> >> >
>> >> > After a reboot (a crash of my machine running Ubuntu, actually,) I
>> get an
>> >> > error with Guix, about an unsupported manifest format.  For instance:
>> >> >
>> >> >> guix package -l
>> >> > Generation 1 Jul 14 2022 17:24:46
>> >> >   emacs 27.2 out
>> /gnu/store/6ahsf2ja6qyg19skggjxxpf9xx6ybxi1-emacs-27.2
>> >> >
>> >> > Generation 2 Jul 14 2022 19:33:27
>> >> >  + glibc-utf8-locales 2.31 out
>> >> > /gnu/store/rgydar9dfvflqqz2irgh7njj34amaxc6-glibc-utf8-locales-2.31
>> >> >
>> >> > Generation 3 Jul 14 2022 19:37:02
>> >> > guix package: error: unsupported manifest format
>> >> >
>> >> > Any idea what could be wrong?
>> >>
>> >> Yes, especially if your machine crashed, this is probably a file
>> >> corruption. You can try running `guix gc --verify=contents,repair`
>> >> to find corrupted files in store and repair them if possible (they have
>> >> to be substitutable)
>> >>
>> >> If your profile's manifest is broken, that's unfortunate as you cannot
>> >> really substitute that. So you will probably have to switch to earlier
>> >> generation, and remove the one affected by the corruption, then you
>> >> should be fine.
>> >>
>> >> Rutherther
>> >>
>> >> >
>> >> > --
>> >> > Florent Georges
>> >> > H2O Consulting
>> >> > http://h2o.consulting/
>> >>
>>

Reply via email to