Subject: [bug#63393] [PATCH 0/2] Fix libstdc++.so and gcc-toolchain

From: Maxim Cournoyer <[email-masked]>
Date: Wed, 24 Jan 2024 14:11:29 -0500

Hi Ludo,

Ludovic Courtès <[email-masked]> writes:

> Hi,
>
> Maxim Cournoyer <[email-masked]> skribis:
>
>> Shows that the main output of GCC already keeps a reference to its "lib"
>> output within its closure.  It seems we could merge "lib" back into
>> "out" and simplify things?
>
> No, because most packages depend on gcc:lib and we wouldn’t want them to
> depend on all of gcc:
>
> $ guix size grep
> store item                                                       total    self
> /gnu/store/gsjczqir1wbz8p770zndrpw4rnppmxi3-glibc-2.35              40.6    38.8  50.2%
> /gnu/store/930nwsiysdvy2x5zv1sf6v7ym75z8ayk-gcc-11.3.0-lib          75.3    34.7  44.9%
> /gnu/store/zzyywykw7kriln18rxqd82f0k5kidla7-bash-static-5.1.16       1.8     1.8   2.4%
> /gnu/store/rib9g2ig1xf3kclyl076w28parmncg4k-bash-minimal-5.1.16     41.6     1.0   1.3%
> /gnu/store/ixr7c3jadiqg640b8pz3njqhhm5zzmvj-grep-3.8                77.2     0.9   1.2%
> total: 77.2 MiB
> $ guix size grep gcc
> guix size: package 'gcc' has been superseded by 'gcc-toolchain'
> store item                                                       total    self
> /gnu/store/5lqhcv91ijy82p92ac6g5xw48l0lwwz4-gcc-11.3.0             223.6   148.1  43.0%
> /gnu/store/zh4x65snfis7svs6906gj1z8i7dx2j3m-binutils-2.38           95.5    54.9  16.0%
> /gnu/store/g8p09w6r78hhkl2rv1747pcp9zbk6fxv-guile-3.0.9            134.0    53.1  15.4%
> /gnu/store/gsjczqir1wbz8p770zndrpw4rnppmxi3-glibc-2.35              40.6    38.8  11.3%
> /gnu/store/930nwsiysdvy2x5zv1sf6v7ym75z8ayk-gcc-11.3.0-lib          75.3    34.7  10.1%
> /gnu/store/5iklcps70c0sfkxvlrhg8jhf3q4h18bj-linux-libre-headers-5.15.49     5.9     5.9   1.7%
> /gnu/store/wlm2r1789qi5kg242kyk72ipr14xsc0n-libunistring-1.0        77.8     2.5   0.7%
> /gnu/store/zzyywykw7kriln18rxqd82f0k5kidla7-bash-static-5.1.16       1.8     1.8   0.5%
> /gnu/store/bmcbayp2prca1svm1d5livg4f477i452-pkg-config-0.29.2       76.4     1.1   0.3%
> /gnu/store/rib9g2ig1xf3kclyl076w28parmncg4k-bash-minimal-5.1.16     41.6     1.0   0.3%
> /gnu/store/ixr7c3jadiqg640b8pz3njqhhm5zzmvj-grep-3.8                77.2     0.9   0.3%
> /gnu/store/575d59dd56fwiyjv58n0kjc24g3wi1ik-libgc-8.2.2             76.1     0.8   0.2%
> /gnu/store/gqld7hz5vm4g904g7nc77z7wzvdrrwyb-zlib-1.2.13             40.8     0.2   0.1%
> /gnu/store/q5k9xqnq9fvbvn17xymdvnckcwp8xlp9-libffi-3.4.4            75.5     0.2   0.1%
> /gnu/store/fzsz6gk7g5spr7j5jx5zh6rysd5r0n64-gcc-toolchain-11.3.0   343.4     0.1   0.0%
> /gnu/store/na1dpbbcxjaa3n8wkwrfpch476f90hlf-ld-wrapper-0           189.1     0.1   0.0%
> total: 344.3 MiB

Thanks for putting this into perspective.  So out -> lib but lib !=
depend on out, which makes it useful to reduce the closure when used standalone.

-- 
Thanks,
Maxim