Subject: bug#51928: GHC 8.10 occupies 1.6 GiB

From: Simon Tournier <[email-masked]>
Date: Fri, 22 Sep 2023 18:42:56 +0200

Hi,

Old bug#51928:

    https://issues.guix.gnu.org/issue/51928

still current.

On Wed, 17 Nov 2021 at 22:15, Ludovic Courtès <[email-masked]> wrote:

> $ guix describe
> Generacio 194	Nov 07 2021 23:40:30	(nuna)
>   guix bd41e59
>     repository URL: https://git.savannah.gnu.org/git/guix.git
>     branch: master
>     commit: bd41e590dd24e54797fb8b6854c244efd4d12df5

> $ guix size [email-masked]
> total: 1831.0 MiB

> $ du -s /gnu/store/ifr4svr31053fgqay0il5acipl7b6579-ghc-8.10.7/lib/ghc-8.10.7/*|sort -k1 -n| tail
> 23756   /gnu/store/ifr4svr31053fgqay0il5acipl7b6579-ghc-8.10.7/lib/ghc-8.10.7/haskeline-0.8.2
> 28776   /gnu/store/ifr4svr31053fgqay0il5acipl7b6579-ghc-8.10.7/lib/ghc-8.10.7/text-1.2.4.1
> 47664   /gnu/store/ifr4svr31053fgqay0il5acipl7b6579-ghc-8.10.7/lib/ghc-8.10.7/containers-0.6.5.1
> 48428   /gnu/store/ifr4svr31053fgqay0il5acipl7b6579-ghc-8.10.7/lib/ghc-8.10.7/ghc-prim-0.6.1
> 50768   /gnu/store/ifr4svr31053fgqay0il5acipl7b6579-ghc-8.10.7/lib/ghc-8.10.7/ghci-8.10.7
> 54100   /gnu/store/ifr4svr31053fgqay0il5acipl7b6579-ghc-8.10.7/lib/ghc-8.10.7/template-haskell-2.16.0.0
> 80200   /gnu/store/ifr4svr31053fgqay0il5acipl7b6579-ghc-8.10.7/lib/ghc-8.10.7/bin
> 151868  /gnu/store/ifr4svr31053fgqay0il5acipl7b6579-ghc-8.10.7/lib/ghc-8.10.7/base-4.14.3.0
> 426416  /gnu/store/ifr4svr31053fgqay0il5acipl7b6579-ghc-8.10.7/lib/ghc-8.10.7/Cabal-3.2.1.0
> 538168  /gnu/store/ifr4svr31053fgqay0il5acipl7b6579-ghc-8.10.7/lib/ghc-8.10.7/ghc-8.10.7

> $ du -s /gnu/store/ifr4svr31053fgqay0il5acipl7b6579-ghc-8.10.7/lib/ghc-8.10.7/ghc-8.10.7/*|sort -k1 -n|tail
> 652     /gnu/store/ifr4svr31053fgqay0il5acipl7b6579-ghc-8.10.7/lib/ghc-8.10.7/ghc-8.10.7/Llvm
> 716     /gnu/store/ifr4svr31053fgqay0il5acipl7b6579-ghc-8.10.7/lib/ghc-8.10.7/ghc-8.10.7/SPARC
> 1108    /gnu/store/ifr4svr31053fgqay0il5acipl7b6579-ghc-8.10.7/lib/ghc-8.10.7/ghc-8.10.7/RegAlloc
> 2256    /gnu/store/ifr4svr31053fgqay0il5acipl7b6579-ghc-8.10.7/lib/ghc-8.10.7/ghc-8.10.7/DynFlags.dyn_hi
> 2256    /gnu/store/ifr4svr31053fgqay0il5acipl7b6579-ghc-8.10.7/lib/ghc-8.10.7/ghc-8.10.7/DynFlags.hi
> 2256    /gnu/store/ifr4svr31053fgqay0il5acipl7b6579-ghc-8.10.7/lib/ghc-8.10.7/ghc-8.10.7/DynFlags.p_hi
> 23724   /gnu/store/ifr4svr31053fgqay0il5acipl7b6579-ghc-8.10.7/lib/ghc-8.10.7/ghc-8.10.7/GHC
> 90908   /gnu/store/ifr4svr31053fgqay0il5acipl7b6579-ghc-8.10.7/lib/ghc-8.10.7/ghc-8.10.7/libHSghc-8.10.7-ghc8.10.7.so
> 127908  /gnu/store/ifr4svr31053fgqay0il5acipl7b6579-ghc-8.10.7/lib/ghc-8.10.7/ghc-8.10.7/libHSghc-8.10.7.a
> 225972  /gnu/store/ifr4svr31053fgqay0il5acipl7b6579-ghc-8.10.7/lib/ghc-8.10.7/ghc-8.10.7/libHSghc-8.10.7_p.a

Today, it is the same for all GHC versions:

--8<---------------cut here---------------start------------->8---
$ guix describe
Generation 28	Sep 06 2023 14:54:50	(current)
  guix 6113e05
    repository URL: https://git.savannah.gnu.org/git/guix.git
    commit: 6113e0529d61df7425f64e30a6bf77f7cfdfe5a5

$ for v in $(guix show ghc | recsel -CP version); do printf "ghc@$v  "; guix size ghc@$v | grep total: ;done
[email-masked]  total: 1814.6 MiB
[email-masked]  total: 1742.9 MiB
[email-masked]  total: 1774.3 MiB
[email-masked]  total: 1847.2 MiB
[email-masked]  total: 1603.0 MiB
[email-masked]  total: 1801.3 MiB
[email-masked]  total: 1505.0 MiB
[email-masked]  total: 1275.9 MiB
[email-masked]  total: 303.2 MiB
[email-masked]  total: 444.4 MiB
[email-masked]  total: 286.5 MiB
[email-masked]  total: 233.9 MiB

$ for v in $(guix show ghc | recsel -CP version); do echo ""; du -sh $(guix build ghc@$v | grep -v doc)/lib/ghc-$v/ghc-$v/* | sort -h -k1 | tail -3 ;done
94M	/gnu/store/x0q2jmg4pfy0wjxdz8l4apsp1yg2sm2c-ghc-9.2.5/lib/ghc-9.2.5/ghc-9.2.5/GHC
133M	/gnu/store/x0q2jmg4pfy0wjxdz8l4apsp1yg2sm2c-ghc-9.2.5/lib/ghc-9.2.5/ghc-9.2.5/libHSghc-9.2.5.a
231M	/gnu/store/x0q2jmg4pfy0wjxdz8l4apsp1yg2sm2c-ghc-9.2.5/lib/ghc-9.2.5/ghc-9.2.5/libHSghc-9.2.5_p.a

86M	/gnu/store/n2apysbmkmpywd6xfs2g1jigmlr7kb9v-ghc-9.0.2/lib/ghc-9.0.2/ghc-9.0.2/GHC
120M	/gnu/store/n2apysbmkmpywd6xfs2g1jigmlr7kb9v-ghc-9.0.2/lib/ghc-9.0.2/ghc-9.0.2/libHSghc-9.0.2.a
208M	/gnu/store/n2apysbmkmpywd6xfs2g1jigmlr7kb9v-ghc-9.0.2/lib/ghc-9.0.2/ghc-9.0.2/libHSghc-9.0.2_p.a

80M	/gnu/store/4f4rva7ga15srz70jxdzrzv8w19y0zbn-ghc-8.10.7/lib/ghc-8.10.7/ghc-8.10.7/libHSghc-8.10.7-ghc8.10.7.so
125M	/gnu/store/4f4rva7ga15srz70jxdzrzv8w19y0zbn-ghc-8.10.7/lib/ghc-8.10.7/ghc-8.10.7/libHSghc-8.10.7.a
221M	/gnu/store/4f4rva7ga15srz70jxdzrzv8w19y0zbn-ghc-8.10.7/lib/ghc-8.10.7/ghc-8.10.7/libHSghc-8.10.7_p.a

78M	/gnu/store/j2dcjp1s6y4xy1m8xxw15wgcphq3ncp6-ghc-8.8.4/lib/ghc-8.8.4/ghc-8.8.4/libHSghc-8.8.4-ghc8.8.4.so
122M	/gnu/store/j2dcjp1s6y4xy1m8xxw15wgcphq3ncp6-ghc-8.8.4/lib/ghc-8.8.4/ghc-8.8.4/libHSghc-8.8.4.a
215M	/gnu/store/j2dcjp1s6y4xy1m8xxw15wgcphq3ncp6-ghc-8.8.4/lib/ghc-8.8.4/ghc-8.8.4/libHSghc-8.8.4_p.a

73M	/gnu/store/7gjfmdf5ifvki06msjx8ygf4j40x4k49-ghc-8.6.5/lib/ghc-8.6.5/ghc-8.6.5/libHSghc-8.6.5-ghc8.6.5.so
115M	/gnu/store/7gjfmdf5ifvki06msjx8ygf4j40x4k49-ghc-8.6.5/lib/ghc-8.6.5/ghc-8.6.5/libHSghc-8.6.5.a
204M	/gnu/store/7gjfmdf5ifvki06msjx8ygf4j40x4k49-ghc-8.6.5/lib/ghc-8.6.5/ghc-8.6.5/libHSghc-8.6.5_p.a

70M	/gnu/store/8dp1qql6xpjd1jb171zzk4m4h47q1vcm-ghc-8.4.4/lib/ghc-8.4.4/ghc-8.4.4/libHSghc-8.4.4-ghc8.4.4.so
110M	/gnu/store/8dp1qql6xpjd1jb171zzk4m4h47q1vcm-ghc-8.4.4/lib/ghc-8.4.4/ghc-8.4.4/libHSghc-8.4.4.a
189M	/gnu/store/8dp1qql6xpjd1jb171zzk4m4h47q1vcm-ghc-8.4.4/lib/ghc-8.4.4/ghc-8.4.4/libHSghc-8.4.4_p.a

78M	/gnu/store/bg7qkrssd354p9ksjc1c3z0hqgqv2cdm-ghc-8.0.2/lib/ghc-8.0.2/ghc-8.0.2/libHSghc-8.0.2-ghc8.0.2.so
115M	/gnu/store/bg7qkrssd354p9ksjc1c3z0hqgqv2cdm-ghc-8.0.2/lib/ghc-8.0.2/ghc-8.0.2/libHSghc-8.0.2.a
183M	/gnu/store/bg7qkrssd354p9ksjc1c3z0hqgqv2cdm-ghc-8.0.2/lib/ghc-8.0.2/ghc-8.0.2/libHSghc-8.0.2_p.a

du: cannot access '/gnu/store/53ngslgf8ami8hbpnn4vzyqwndf5czyi-ghc-7.10.3/lib/ghc-7.10.3/ghc-7.10.3/*': No such file or directory

240K	/gnu/store/46wz64jar8s7mvgwk6r4z1yp545pmgyg-ghc-6.10.4/lib/ghc-6.10.4/ghc-6.10.4/DynFlags.hi
19M	/gnu/store/46wz64jar8s7mvgwk6r4z1yp545pmgyg-ghc-6.10.4/lib/ghc-6.10.4/ghc-6.10.4/HSghc-6.10.4.o
23M	/gnu/store/46wz64jar8s7mvgwk6r4z1yp545pmgyg-ghc-6.10.4/lib/ghc-6.10.4/ghc-6.10.4/libHSghc-6.10.4.a

du: cannot access '/gnu/store/9jzk77qrq0s4sz4mhvr9qmdgpzpi524m-ghc-6.6/lib/ghc-6.6/ghc-6.6/*': Not a directory
du: cannot access '/gnu/store/rqimyicx99fg311sgny8ycm5gf2ns9rx-ghc-6.0/lib/ghc-6.0/ghc-6.0/*': Not a directory
du: cannot access '/gnu/store/i3gwjcxd11xpaqwiibfzlwsk3q0a0qss-ghc-4.08.2/lib/ghc-4.08.2/ghc-4.08.2/*': No such file or directory
--8<---------------cut here---------------end--------------->8---

> Can we at least (re)move those ‘.a’ files?

Well, can we remove these ’.a’ files for the output ’out’ are create
another output, say ’lib’?

Cheers,
simon