On Tue, 13 Mar 2018 22:15:35 +0300 Jone wrote: > I wrote a simple script: > > TRGT="*-gtk+-2.2*" > for i in $(ls -d /gnu/store/$TRGT/) > do > echo > echo "----------> $i" > echo "$(guix gc --referrers $i | grep -v \.drv)" > done > > Part of output: > ----------> /gnu/store/595ydgdnkj9vdxr88dkscb0ws9rgjv0g-gtk+-2.24.31/ > /gnu/store/595ydgdnkj9vdxr88dkscb0ws9rgjv0g-gtk+-2.24.31 > /gnu/store/6h7w5z60zqx6802qxd98wcmx1yrhnzy5-xfce4-appfinder-4.12.0 > /gnu/store/8vy4gnmb17xc3hiqjd1b5z28vfsn8jzq-gtk-im-modules > /gnu/store/fi77qxlq9ga6rgl9gg1xfxkfw7vps2l3-gtk-im-modules > /gnu/store/ggrwghpwyfwrmxb90aj846c3ydwprqvl-gtk-im-modules > /gnu/store/miiv6rnlrhbjk34l1ga7v6ys1x6983q4-libxfce4ui-4.12.0 > /gnu/store/rki1c8z0v7crppym7qzqys894pikxljc-garcon-0.4.0 [..] > ----------> /gnu/store/rbzlcg13vpabvj2sr6c67icd15wq0vhz-gtk+-2.24.31/ > /gnu/store/16rwx833av4k48hk2diqj87mwsc457j3-gtk-im-modules > /gnu/store/rbzlcg13vpabvj2sr6c67icd15wq0vhz-gtk+-2.24.31 > > > It is possible to draw a conclusion, that each application refers the > SEPARATE version of library. What??? Somebody can explain it? I also have a lot of those in my store, although I rarely do a guix gc. Suppose you don't change anything on a packages definition, i.e. leave name, version, depencencies, build-system etc. completely as they were. If you then change anything on the dependencies of that package (or its sub-dependencies) it will get rebuild (or re-downloaded) with the same package-name and package-version but under a different hash-sum. That's the reason why there is the branch of "core-updates" packages (see point 7 in [1]): Basicly every package in the distribution depends on a core-updates package. If you change one of the core-updates, the whole distribution needs to be rebuilt. Because this would cause much compilation-work on users computers, core-updates will be collected and compiled by Hydra on a separate branch. If everything is compiled and under a certain level of errors, it will be merged back into master and will be available via guix pull. In your case it could be that you have installed the different library instances via different guix pulls. Björn [1] https://www.gnu.org/software/guix/manual/guix.html#Submitting-Patches