unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
From: Pierre Neidhardt <mail@ambrevar.xyz>
To: Guix-Help <help-guix@gnu.org>
Subject: Ever-growing store with --gc-keep-outputs?
Date: Tue, 11 Sep 2018 21:11:33 +0200	[thread overview]
Message-ID: <87y3c74zoa.fsf@ambrevar.xyz> (raw)

[-- Attachment #1: Type: text/plain, Size: 2755 bytes --]

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 #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

             reply	other threads:[~2018-09-11 19:11 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-11 19:11 Pierre Neidhardt [this message]
2018-09-12 10:55 ` Ever-growing store with --gc-keep-outputs? Pierre Neidhardt
2018-09-13  9:09 ` Ludovic Courtès
2018-09-13  9:32   ` Pierre Neidhardt
2018-09-14  9:51     ` Ludovic Courtès
2018-09-14 10:57       ` Pierre Neidhardt
2018-09-14 17:46         ` Mark H Weaver
2018-09-14 18:02           ` Pierre Neidhardt
2018-09-14 21:34             ` Mark H Weaver
2018-09-14 22:10               ` Pierre Neidhardt
2018-11-09  6:53           ` swedebugia
2018-11-09  7:13             ` Mark H Weaver
2018-11-09 10:58               ` Pierre Neidhardt
2018-11-09 16:47                 ` swedebugia
2018-11-13 20:31                   ` Leo Famulari
2018-11-13 21:14                     ` swedebugia

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87y3c74zoa.fsf@ambrevar.xyz \
    --to=mail@ambrevar.xyz \
    --cc=help-guix@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).