Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Bug#1008642: guix pull complains about "No such file or directory"

148 views
Skip to first unread message

Yuxuan Wang

unread,
Mar 29, 2022, 5:10:05 PM3/29/22
to
Package: guix
Version: 1.3.0-4
Severity: normal
X-Debbugs-Cc: fish...@gmail.com

Dear Maintainer,

I have been using both guix and nix-setup-systemd on this machine for a while,
until one day I run out of inodes on the root partition. At the time that
happened I knew it would be caused by one of guix and nix, but not sure which,
so I deleted both (by using `apt purge guix nix-setup-systemd` then
`rm -Rf /nix /gnu`).

When deleting both I realized that it's actually nix causing excessive inodes
used, not guix, so I tried to reinstall guix by `apt install guix`.

But after reinstalled guix it's no longer usable. Whenever I try guix pull it
throws:

$ guix pull
Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.org/git/guix.git'...
Authenticating channel 'guix', commits 9edb3f6 to 1d62b15 (100 new commits)...
Building from this channel:
guix https://git.savannah.gnu.org/git/guix.git 1d62b15
guix pull: error: opening file `/gnu/store/046lwac3v42aw2ggvm7kgps143n4r768-xz.drv': No such file or directory

I checked my other machines with guix installed and they no longer have that
particular package under /gnu/store. My naive understanding is that it's a
package required by the versino of guix installed via `apt install guix`, but I
do not know how it should be populated during the first installation.

-- System Information:
Debian Release: bookworm/sid
APT prefers testing
APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 5.16.0-5-amd64 (SMP w/12 CPU threads; PREEMPT)
Kernel taint flags: TAINT_WARN
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages guix depends on:
ii guile-3.0 3.0.8-2
ii guile-3.0-libs 3.0.8-2
ii guile-gcrypt 0.3.0-4
ii guile-git 0.5.2-3
ii guile-gnutls 3.7.3-4+b1
ii guile-json 4.5.2-3
ii guile-lzlib 0.0.2-3
ii guile-sqlite3 0.1.3-3
ii guile-ssh 0.13.1-6
ii guile-zlib 0.1.0-4
ii libbz2-1.0 1.0.8-5
ii libc6 2.33-7
ii libgcc-s1 12-20220319-1
ii libgcrypt20 1.9.4-5
ii libsqlite3-0 3.38.1-1
ii libssh-dev 0.9.6-2
ii libstdc++6 12-20220319-1
ii zlib1g 1:1.2.11.dfsg-2

Versions of packages guix recommends:
ii nscd 2.33-7
ii systemd 250.4-1

guix suggests no packages.

-- no debconf information

Vagrant Cascadian

unread,
Jun 8, 2022, 9:50:04 PM6/8/22
to
Control: retitle 1008642 purge /gnu/store and /var/guix when guix is purged

On 2022-03-29, Yuxuan Wang wrote:
> I have been using both guix and nix-setup-systemd on this machine for a while,
> until one day I run out of inodes on the root partition. At the time that
> happened I knew it would be caused by one of guix and nix, but not sure which,
> so I deleted both (by using `apt purge guix nix-setup-systemd` then
> `rm -Rf /nix /gnu`).

You also will need to remove /var/guix as well, as this has databases of
what is in the /gnu/store...


> When deleting both I realized that it's actually nix causing excessive inodes
> used, not guix, so I tried to reinstall guix by `apt install guix`.
>
> But after reinstalled guix it's no longer usable. Whenever I try guix pull it
> throws:
>
> $ guix pull
> Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.org/git/guix.git'...
> Authenticating channel 'guix', commits 9edb3f6 to 1d62b15 (100 new commits)...
> Building from this channel:
> guix https://git.savannah.gnu.org/git/guix.git 1d62b15
> guix pull: error: opening file `/gnu/store/046lwac3v42aw2ggvm7kgps143n4r768-xz.drv': No such file or directory

You might be able to "guix build --repair" the individual missing items,
but it is probably easier to completely remove /var/guix and start from
scratch...


I guess "apt purge guix" should actually delete /var/guix and
/gnu/store, though that could be an expensive operation and hard to
revert if done by mistake... a bit tricky to handle correctly if someone
transitions away a .deb packaged guix, though. But I guess in that case
they should remove and *not* purge guix.


live well,
vagrant
signature.asc

Vagrant Cascadian

unread,
Jun 8, 2022, 10:00:03 PM6/8/22
to
On 2022-06-08, Vagrant Cascadian wrote:
> On 2022-03-29, Yuxuan Wang wrote:
>> $ guix pull
>> Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.org/git/guix.git'...
>> Authenticating channel 'guix', commits 9edb3f6 to 1d62b15 (100 new commits)...
>> Building from this channel:
>> guix https://git.savannah.gnu.org/git/guix.git 1d62b15
>> guix pull: error: opening file `/gnu/store/046lwac3v42aw2ggvm7kgps143n4r768-xz.drv': No such file or directory
>
> You might be able to "guix build --repair" the individual missing items,
> but it is probably easier to completely remove /var/guix and start from
> scratch...

This would also have helped if you had arbitrary missing or corrupt
items:

guix gc --verify=contents,repair

But since you know everything was removed, still probably best to start
from scratch.


live well,
vagrant
signature.asc

Yuxuan Wang

unread,
Jun 8, 2022, 10:10:04 PM6/8/22
to
Thank you, Vagrant!

That is certainly helpful. I found out that I also need to remove $HOME/.cache/guix, but after that I'm now able to start from scratch again.
0 new messages