help-guix
[Top][All Lists]
Advanced

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

Ever-growing store with --gc-keep-outputs?


From: Pierre Neidhardt
Subject: Ever-growing store with --gc-keep-outputs?
Date: Tue, 11 Sep 2018 21:11:33 +0200
User-agent: mu4e 1.0; emacs 26.1

Hi there,

I've enabled '--gc-keep-outputs=yes' a while back (together with the
default '--gc-keep-derivations=yes'), and I've noticed that my store
keeps consuming more and more disk space after each upgrade.

From the manual "(guix) Invoking guix-daemon)":

>     When both are set to “yes”, the effect is
>     to keep all the build prerequisites (the sources, compiler,
>     libraries, and other build-time tools) of live objects in the
>     store, regardless of whether these prerequisites are reachable from
>     a GC root.  This is convenient for developers since it saves
>     rebuilds or downloads.

Does this mean that once a package has been marked as "live", it won't
ever be deleted?

For instance, I have 2 ghc-pandoc packages, both of them "live":

--8<---------------cut here---------------start------------->8---
/gnu/store/lvydshzl7pkdmvv2sfjgfvvc70vsyich-ghc-pandoc-2.2.1 

Size              : 191.5M (200775752 bytes) 
Registration time : 2018-09-03 09:56:33
Derivers          : 1  
References        : 193  
Referrers         : 14  
Requisites        : 264  
--8<---------------cut here---------------end--------------->8---

and 

--8<---------------cut here---------------start------------->8---
/gnu/store/1cks86vflnc60xjvdad3fp03hbfy9688-ghc-pandoc-2.2.1  

Size              : 191.5M (200775752 bytes)  
Registration time : 2018-09-03 09:55:40
Derivers          : 1  
References        : 193  
Referrers         : 1  
Requisites        : 264  
--8<---------------cut here---------------end--------------->8---

The last one has only one referrer: itself.  The deriver is

--8<---------------cut here---------------start------------->8---
/gnu/store/qs5c2ibj15ym6lxf72vz7ds0h96k1vv5-ghc-pandoc-2.2.1.drv 

Size              : 6.3k (6464 bytes)  
Registration time : 2018-09-03 09:49:28
Derivers          : 0
References        : 74  
Referrers         : 1  
Requisites        : 1168  
--8<---------------cut here---------------end--------------->8---

Notice it has a referrer, which is

--8<---------------cut here---------------start------------->8---
/gnu/store/5gp70m5jwyi4ryl8i7pcj3c52g3pl4hb-ghc-pandoc-2.2.1.drv  

Size              : 26.3k (26936 bytes)  
Registration time : 2018-09-03 09:49:56
Derivers          : 0
References        : 317  
Referrers         : 0
Requisites        : 1604  
--8<---------------cut here---------------end--------------->8---

that is, the deriver of the first ghc-pandoc package!  As I understand
it, there is a dependency cycle between the derivers and the packages.
Is this to be expected?

Is there a way to find which GC root causes the item to be live?

-- 
Pierre Neidhardt
https://ambrevar.xyz/

Attachment: signature.asc
Description: PGP signature


reply via email to

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