GHC 8.10 occupies 1.6 GiB

  • Open
  • quality assurance status badge
Details
5 participants
  • Lars-Dominik Braun
  • Ludovic Courtès
  • Maxim Cournoyer
  • raingloom
  • Simon Tournier
Owner
unassigned
Submitted by
Ludovic Courtès
Severity
normal
L
L
Ludovic Courtès wrote on 17 Nov 2021 22:15
(address . bug-guix@gnu.org)
8735nutrf3.fsf@inria.fr
Hi!

GHC takes way too much space (GHC itself, not the closure):

Toggle snippet (20 lines)
$ guix size ghc@8.10
konserveja ero total self
/gnu/store/allyyvs2xg396s23csrmqfx19n9zayp7-ghc-8.10.7 1831.0 1599.4 87.3%
/gnu/store/z9alkwg8anajvasd01pyx4rzcasli3yf-ghc-8.10.7-doc 190.2 150.8 8.2%
/gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31 38.4 36.7 2.0%
/gnu/store/01b4w3m6mp55y531kyi1g8shh722kwqm-gcc-7.5.0-lib 71.0 32.6 1.8%
/gnu/store/zzkly5rbfvahwqgcs7crz0ilpi7x5g5p-ncurses-6.2 76.9 5.9 0.3%
/gnu/store/35afkywncrr5xsb4cxcljf6rpjcb7f61-gmp-6.2.0 73.8 2.7 0.2%
/gnu/store/mmhimfwmmidf09jw1plw3aw1g1zn2nkh-bash-static-5.0.16 1.6 1.6 0.1%
/gnu/store/pwcp239kjf7lnj5i4lkdzcfcxwcfyk72-bash-minimal-5.0.16 39.4 1.0 0.1%
/gnu/store/bw15z9kh9c65ycc2vbhl2izwfwfva7p1-libffi-3.3 71.2 0.2 0.0%
total: 1831.0 MiB
$ 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

Most of it comes from $libdir, specifically:

Toggle snippet (24 lines)
$ 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

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

Thoughts?

Ludo’.
R
R
raingloom wrote on 24 Nov 2021 00:56
Re: bug#51928: GHC 8.10 occupies 1.6 GiB
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 51928@debbugs.gnu.org)
20211124005641.44b985e9@riseup.net
On Wed, 17 Nov 2021 22:15:28 +0100
Ludovic Courtès <ludo@gnu.org> wrote:

Toggle quote (88 lines)
> Hi!
>
> GHC takes way too much space (GHC itself, not the closure):
>
> --8<---------------cut here---------------start------------->8---
> $ guix size ghc@8.10
> konserveja ero
> total self /gnu/store/allyyvs2xg396s23csrmqfx19n9zayp7-ghc-8.10.7
> 1831.0 1599.4 87.3%
> /gnu/store/z9alkwg8anajvasd01pyx4rzcasli3yf-ghc-8.10.7-doc
> 190.2 150.8 8.2%
> /gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31
> 38.4 36.7 2.0%
> /gnu/store/01b4w3m6mp55y531kyi1g8shh722kwqm-gcc-7.5.0-lib
> 71.0 32.6 1.8%
> /gnu/store/zzkly5rbfvahwqgcs7crz0ilpi7x5g5p-ncurses-6.2
> 76.9 5.9 0.3%
> /gnu/store/35afkywncrr5xsb4cxcljf6rpjcb7f61-gmp-6.2.0
> 73.8 2.7 0.2%
> /gnu/store/mmhimfwmmidf09jw1plw3aw1g1zn2nkh-bash-static-5.0.16
> 1.6 1.6 0.1%
> /gnu/store/pwcp239kjf7lnj5i4lkdzcfcxwcfyk72-bash-minimal-5.0.16
> 39.4 1.0 0.1%
> /gnu/store/bw15z9kh9c65ycc2vbhl2izwfwfva7p1-libffi-3.3
> 71.2 0.2 0.0% total: 1831.0 MiB $ 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 --8<---------------cut
> here---------------end--------------->8---
>
> Most of it comes from $libdir, specifically:
>
> --8<---------------cut here---------------start------------->8---
> $ 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
> --8<---------------cut here---------------end--------------->8---
>
> Can we at least (re)move those ‘.a’ files?
>
> Thoughts?
>
> Ludo’.
>
>
>

Shouldn't `.a` be split to a static lib output?
M
M
Maxim Cournoyer wrote on 27 Nov 2021 04:19
Re: bug#51928: GHC 8.10 occupies 1.6 GiB
(name . raingloom)(address . raingloom@riseup.net)
87ee728eu9.fsf_-_@gmail.com
Hello,

raingloom <raingloom@riseup.net> writes:

Toggle quote (93 lines)
> On Wed, 17 Nov 2021 22:15:28 +0100
> Ludovic Courtès <ludo@gnu.org> wrote:
>
>> Hi!
>>
>> GHC takes way too much space (GHC itself, not the closure):
>>
>> --8<---------------cut here---------------start------------->8---
>> $ guix size ghc@8.10
>> konserveja ero
>> total self /gnu/store/allyyvs2xg396s23csrmqfx19n9zayp7-ghc-8.10.7
>> 1831.0 1599.4 87.3%
>> /gnu/store/z9alkwg8anajvasd01pyx4rzcasli3yf-ghc-8.10.7-doc
>> 190.2 150.8 8.2%
>> /gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31
>> 38.4 36.7 2.0%
>> /gnu/store/01b4w3m6mp55y531kyi1g8shh722kwqm-gcc-7.5.0-lib
>> 71.0 32.6 1.8%
>> /gnu/store/zzkly5rbfvahwqgcs7crz0ilpi7x5g5p-ncurses-6.2
>> 76.9 5.9 0.3%
>> /gnu/store/35afkywncrr5xsb4cxcljf6rpjcb7f61-gmp-6.2.0
>> 73.8 2.7 0.2%
>> /gnu/store/mmhimfwmmidf09jw1plw3aw1g1zn2nkh-bash-static-5.0.16
>> 1.6 1.6 0.1%
>> /gnu/store/pwcp239kjf7lnj5i4lkdzcfcxwcfyk72-bash-minimal-5.0.16
>> 39.4 1.0 0.1%
>> /gnu/store/bw15z9kh9c65ycc2vbhl2izwfwfva7p1-libffi-3.3
>> 71.2 0.2 0.0% total: 1831.0 MiB $ 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 --8<---------------cut
>> here---------------end--------------->8---
>>
>> Most of it comes from $libdir, specifically:
>>
>> --8<---------------cut here---------------start------------->8---
>> $ 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
>> --8<---------------cut here---------------end--------------->8---
>>
>> Can we at least (re)move those ‘.a’ files?
>>
>> Thoughts?
>>
>> Ludo’.
>>
>>
>>
>
> Shouldn't `.a` be split to a static lib output?

In Guix they aren't used typically (everything gets linked dynamically);
at 1 GiB+ I think it's fair to get rid of them.

Thanks,

Maxim
L
L
Ludovic Courtès wrote on 28 Nov 2021 18:03
(name . Maxim Cournoyer)(address . maxim.cournoyer@gmail.com)
87h7bwb4b9.fsf@gnu.org
Hi,

Maxim Cournoyer <maxim.cournoyer@gmail.com> skribis:

Toggle quote (2 lines)
> In Guix they aren't used typically (everything gets linked dynamically);

I think they’re used for ‘pandoc’.

Also, in general, we don’t want to make static linking impossible, so we
could move .a files to a separate output as for ‘glibc’.

Ludo’.
R
R
raingloom wrote on 28 Nov 2021 21:45
Re: bug#51928: GHC 8.10 occupies 1.6 GiB
(name . Ludovic Courtès)(address . ludo@gnu.org)
20211128214528.35a012a0@riseup.net
On Sun, 28 Nov 2021 18:03:38 +0100
Ludovic Courtès <ludo@gnu.org> wrote:

Toggle quote (14 lines)
> Hi,
>
> Maxim Cournoyer <maxim.cournoyer@gmail.com> skribis:
>
> > In Guix they aren't used typically (everything gets linked
> > dynamically);
>
> I think they’re used for ‘pandoc’.
>
> Also, in general, we don’t want to make static linking impossible, so
> we could move .a files to a separate output as for ‘glibc’.
>
> Ludo’.

If I recall correctly there was a discussion some months back about
Haskell binaries being smaller when linked statically.
S
S
Simon Tournier wrote on 22 Sep 2023 18:42
Re: bug#51928: GHC 8.10 occupies 1.6 GiB
(address . 51928@debbugs.gnu.org)
87zg1e6twv.fsf@gmail.com
Hi,

Old bug#51928:


still current.

On Wed, 17 Nov 2021 at 22:15, Ludovic Courtès <ludo@gnu.org> wrote:

Toggle quote (34 lines)
> $ 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 ghc@8.10
> 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:

Toggle snippet (61 lines)
$ 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
ghc@9.2.5 total: 1814.6 MiB
ghc@9.0.2 total: 1742.9 MiB
ghc@8.10.7 total: 1774.3 MiB
ghc@8.8.4 total: 1847.2 MiB
ghc@8.6.5 total: 1603.0 MiB
ghc@8.4.4 total: 1801.3 MiB
ghc@8.0.2 total: 1505.0 MiB
ghc@7.10.3 total: 1275.9 MiB
ghc@6.10.4 total: 303.2 MiB
ghc@6.6 total: 444.4 MiB
ghc@6.0 total: 286.5 MiB
ghc@4.08.2 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


Toggle quote (2 lines)
> 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
L
L
Lars-Dominik Braun wrote on 23 Sep 2023 08:18
Re: bug#51928: GHC 8.10 occ upies 1.6 GiB
(name . Simon Tournier)(address . zimon.toutoune@gmail.com)
ZQ6DIVAI0YbUOQAU@noor.fritz.box
Hi,

Toggle quote (2 lines)
> still current.

I’m not so sure about that. We link (most/all?) Haskell binaries
(pandoc for example) statically, so none of them should pull in GHC any
more. If they do, that’s a bug.

It’s almost impossible to untangle GHC libraries (and also GHC itself),
since there are circular references between config files, static libraries
and shared libraries. So I believe the solution above is the best we
can do right now.

Cheers,
Lars
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 51928@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 51928
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch