GNU bug report logs - #63393
[PATCH 0/2] Fix libstdc++.so and gcc-toolchain

Previous Next

Package: guix-patches;

Reported by: Simon Tournier <zimon.toutoune <at> gmail.com>

Date: Tue, 9 May 2023 17:00:02 UTC

Severity: normal

Tags: patch

Done: John Kehayias <john.kehayias <at> protonmail.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 63393 in the body.
You can then email your comments to 63393 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to mail <at> cbaines.net, dev <at> jpoiret.xyz, ludo <at> gnu.org, othacehe <at> gnu.org, rekado <at> elephly.net, zimon.toutoune <at> gmail.com, me <at> tobias.gr, guix-patches <at> gnu.org:
bug#63393; Package guix-patches. (Tue, 09 May 2023 17:00:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Simon Tournier <zimon.toutoune <at> gmail.com>:
New bug report received and forwarded. Copy sent to mail <at> cbaines.net, dev <at> jpoiret.xyz, ludo <at> gnu.org, othacehe <at> gnu.org, rekado <at> elephly.net, zimon.toutoune <at> gmail.com, me <at> tobias.gr, guix-patches <at> gnu.org. (Tue, 09 May 2023 17:00:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Simon Tournier <zimon.toutoune <at> gmail.com>
To: guix-patches <at> gnu.org
Cc: Simon Tournier <zimon.toutoune <at> gmail.com>
Subject: [PATCH 0/2] Fix libstdc++.so and gcc-toolchain
Date: Tue,  9 May 2023 18:58:59 +0200
Hi,

This patch fixes #63267 [1] by adding the output 'lib' to gcc-toolchain.  The
aim of gcc-toolchain is to be a battery included of GCC.  Maybe, this 'lib'
output could be directly included with the 'out'.  Well, I do not know.  WDYT?

For sure, it seems to help people using 'gcc:lib'. :-)

--8<---------------cut here---------------start------------->8---
$ ./pre-inst-env guix shell gcc-toolchain:lib

[...]

$ ls $GUIX_ENVIRONMENT/lib
audit                 libatomic.a             libc.so.6         libitm.so.1.0.0     libnss_files.so.2     libssp_nonshared.a          libtsan_preinit.o
bfd-plugins           libatomic.la            libctf.a          libitm.spec         libnss_hesiod.so      libssp_nonshared.la         libtsan.so
crt1.o                libatomic.so            libctf.la         liblsan.a           libnss_hesiod.so.2    libssp.so                   libtsan.so.2
crti.o                libatomic.so.1          libctf-nobfd.a    liblsan.la          libopcodes.a          libssp.so.0                 libtsan.so.2.0.0
crtn.o                libatomic.so.1.2.0      libctf-nobfd.la   liblsan_preinit.o   libopcodes.la         libssp.so.0.0.0             libubsan.a
gcc                   libbfd.a                libdl.a           liblsan.so          libpcprofile.so       libstdc++.a                 libubsan.la
gconv                 libbfd.la               libdl.so.2        liblsan.so.0        libpthread.a          libstdc++fs.a               libubsan.so
gcrt1.o               libBrokenLocale.so      libgcc_s.so       liblsan.so.0.0.0    libpthread.so.0       libstdc++fs.la              libubsan.so.1
grcrt1.o              libBrokenLocale.so.1    libgcc_s.so.1     libmemusage.so      libquadmath.a         libstdc++.la                libubsan.so.1.0.0
ld-linux-x86-64.so.2  libcc1.la               libgomp.a         libm.so             libquadmath.la        libstdc++.so                libutil.a
libanl.a              libcc1.so               libgomp.la        libm.so.6           libquadmath.so        libstdc++.so.6              libutil.so.1
libanl.so             libcc1.so.0             libgomp.so        libmvec.so          libquadmath.so.0      libstdc++.so.6.0.30         Mcrt1.o
libanl.so.1           libcc1.so.0.0.0         libgomp.so.1      libmvec.so.1        libquadmath.so.0.0.0  libstdc++.so.6.0.30-gdb.py  rcrt1.o
libasan.a             libc_malloc_debug.so    libgomp.so.1.0.0  libnsl.so.1         libresolv.so          libsupc++.a                 Scrt1.o
libasan.la            libc_malloc_debug.so.0  libgomp.spec      libnss_compat.so    libresolv.so.2        libsupc++.la
libasan_preinit.o     libc_nonshared.a        libitm.a          libnss_compat.so.2  librt.so.1            libthread_db.so
libasan.so            libcrypt.so             libitm.la         libnss_db.so        libsanitizer.spec     libthread_db.so.1
libasan.so.8          libcrypt.so.1           libitm.so         libnss_db.so.2      libssp.a              libtsan.a
libasan.so.8.0.0      libc.so                 libitm.so.1       libnss_dns.so.2     libssp.la             libtsan.la
--8<---------------cut here---------------end--------------->8---

Well, another annoyance is that libstdc++ could be built using another
version.  Let for later. :-)

1: https://issues.guix.gnu.org/issue/63267


Cheers,
simon


Simon Tournier (2):
  gnu: gcc-toolchain: Do not use gcc-final.
  gnu: make-gcc-toolchain: Add 'lib' outputs.

 gnu/packages/commencement.scm | 35 +++++++++++++++++++++++++++--------
 1 file changed, 27 insertions(+), 8 deletions(-)


base-commit: 76a3deb8675576a6ce64874234c9d3881060db3b
-- 
2.38.1





Information forwarded to guix-patches <at> gnu.org:
bug#63393; Package guix-patches. (Tue, 09 May 2023 17:05:02 GMT) Full text and rfc822 format available.

Message #8 received at 63393 <at> debbugs.gnu.org (full text, mbox):

From: Simon Tournier <zimon.toutoune <at> gmail.com>
To: 63393 <at> debbugs.gnu.org
Cc: Simon Tournier <zimon.toutoune <at> gmail.com>
Subject: [PATCH 1/2] gnu: gcc-toolchain: Do not use gcc-final.
Date: Tue,  9 May 2023 19:04:04 +0200
* gnu/packages/commencement.scm (gcc-toolchain): Bind to the default
gcc-toolchain-11 being consitent with others.
(gcc-toolchain-11): Make it from gcc-11.
(gcc-toolchain-aka-gcc): Bind to gcc-toolchain.
---
 gnu/packages/commencement.scm | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index ab07fb37ab..7ec177e206 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -3486,8 +3486,6 @@ (define* (make-gcc-toolchain gcc
                 ("libc-debug" ,libc "debug")
                 ("libc-static" ,libc "static"))))))
 
-(define-public gcc-toolchain
-  (make-gcc-toolchain gcc-final))
 
 (define-public gcc-toolchain-4.8
   (make-gcc-toolchain gcc-4.8))
@@ -3514,15 +3512,19 @@ (define-public gcc-toolchain-10
   (make-gcc-toolchain gcc-10))
 
 (define-public gcc-toolchain-11
-  gcc-toolchain)
+    (make-gcc-toolchain gcc-11))
 
 (define-public gcc-toolchain-12
   (make-gcc-toolchain gcc-12))
 
+;; The default GCC
+(define-public gcc-toolchain
+  gcc-toolchain-11)
+
 (define-public gcc-toolchain-aka-gcc
   ;; It's natural for users to try "guix install gcc".  This package
   ;; automatically "redirects" them to 'gcc-toolchain'.
-  (deprecated-package "gcc" gcc-toolchain-11))
+  (deprecated-package "gcc" gcc-toolchain))
 
 
 (define-public gdc-toolchain-10
-- 
2.38.1





Information forwarded to guix-patches <at> gnu.org:
bug#63393; Package guix-patches. (Tue, 09 May 2023 17:06:01 GMT) Full text and rfc822 format available.

Message #11 received at 63393 <at> debbugs.gnu.org (full text, mbox):

From: Simon Tournier <zimon.toutoune <at> gmail.com>
To: 63393 <at> debbugs.gnu.org
Cc: Simon Tournier <zimon.toutoune <at> gmail.com>
Subject: [PATCH 2/2] gnu: make-gcc-toolchain: Add 'lib' outputs.
Date: Tue,  9 May 2023 19:04:05 +0200
* gnu/packages/commencement.scm (make-gcc-toolchain): Add 'lib' outputs.
---
 gnu/packages/commencement.scm | 25 +++++++++++++++++++++----
 1 file changed, 21 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 7ec177e206..94d5884a9c 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -14,6 +14,7 @@
 ;;; Copyright © 2021 Julien Lepiller <julien <at> lepiller.eu>
 ;;; Copyright © 2022 Ricardo Wurmus <rekado <at> elephly.net>
 ;;; Copyright © 2022 Ekaitz Zarraga <ekaitz <at> elenq.tech>
+;;; Copyright © 2023 Simon Tournier <zimon.toutoune <at> gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -3444,15 +3445,30 @@ (define* (make-gcc-toolchain gcc
                                     (filter-map (match-lambda
                                                   (("libc-debug" . _) #f)
                                                   (("libc-static" . _) #f)
+                                                  (("gcc-lib" . _) #f)
+                                                  (("gcc-debug" . _) #f)
                                                   ((_ . directory) directory))
                                                 %build-inputs))
 
                        (union-build (assoc-ref %outputs "debug")
                                     (list (assoc-ref %build-inputs
-                                                     "libc-debug")))
+                                                     "libc-debug")
+                                          (assoc-ref %build-inputs
+                                                     "gcc-debug")))
+
                        (union-build (assoc-ref %outputs "static")
                                     (list (assoc-ref %build-inputs
                                                      "libc-static")))
+
+                       (union-build (assoc-ref %outputs "lib")
+                                    (list (assoc-ref %build-inputs
+                                                     "ld-wrapper")
+                                          (assoc-ref %build-inputs
+                                                     "binutils")
+                                          (assoc-ref %build-inputs
+                                                     "gcc-lib")
+                                          (assoc-ref %build-inputs
+                                                     "libc")))
                        #t))))
 
       (native-search-paths
@@ -3474,7 +3490,7 @@ (define* (make-gcc-toolchain gcc
 binaries, plus debugging symbols in the @code{debug} output), and Binutils.  GCC
 is the GNU Compiler Collection.")
       (home-page "https://gcc.gnu.org/")
-      (outputs '("out" "debug" "static"))
+      (outputs '("out" "debug" "static" "lib"))
 
       ;; The main raison d'être of this "meta-package" is (1) to conveniently
       ;; install everything that we need, and (2) to make sure ld-wrapper comes
@@ -3484,8 +3500,9 @@ (define* (make-gcc-toolchain gcc
                 ("binutils" ,binutils-final)
                 ("libc" ,libc)
                 ("libc-debug" ,libc "debug")
-                ("libc-static" ,libc "static"))))))
-
+                ("libc-static" ,libc "static")
+                ("gcc-lib" ,gcc "lib")
+                ("gcc-debug" ,gcc "debug"))))))
 
 (define-public gcc-toolchain-4.8
   (make-gcc-toolchain gcc-4.8))
-- 
2.38.1





Information forwarded to guix-patches <at> gnu.org:
bug#63393; Package guix-patches. (Tue, 09 May 2023 18:51:02 GMT) Full text and rfc822 format available.

Message #14 received at 63393 <at> debbugs.gnu.org (full text, mbox):

From: Kaelyn <kaelyn.alexi <at> protonmail.com>
To: "63393 <at> debbugs.gnu.org" <63393 <at> debbugs.gnu.org>
Subject: [PATCH 0/2] Fix libstdc++.so and gcc-toolchain
Date: Tue, 09 May 2023 18:50:02 +0000
Hi,

I like the direction of this patch. However, if gcc-toolchain:lib is intended to provide the runtime libraries when the full compiler isn't needed, then I think the .a and .la files should be moved back to the main gcc-toolchain output (or a separate :static output) since they are for static linking and the .a files in particular can be sizeable.

Cheers,
Kaelyn




Information forwarded to guix-patches <at> gnu.org:
bug#63393; Package guix-patches. (Thu, 11 May 2023 13:39:02 GMT) Full text and rfc822 format available.

Message #17 received at 63393 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Simon Tournier <zimon.toutoune <at> gmail.com>
Cc: Kaelyn <kaelyn.alexi <at> protonmail.com>, 63393 <at> debbugs.gnu.org
Subject: Re: bug#63393: [PATCH 0/2] Fix libstdc++.so and gcc-toolchain
Date: Thu, 11 May 2023 15:38:01 +0200
Hi,

Simon Tournier <zimon.toutoune <at> gmail.com> skribis:

> * gnu/packages/commencement.scm (make-gcc-toolchain): Add 'lib' outputs.

[...]

>                                      (filter-map (match-lambda
>                                                    (("libc-debug" . _) #f)
>                                                    (("libc-static" . _) #f)
> +                                                  (("gcc-lib" . _) #f)
> +                                                  (("gcc-debug" . _) #f)

I would include gcc:lib in “out” (thus not adding a “lib” output to
‘gcc-toolchain’).

Yes, gcc:lib includes *.a and *.la, but those are already part of the
‘gcc-toolchain’ closure:

--8<---------------cut here---------------start------------->8---
$ guix size gcc-toolchain |head -6
store item                                                       total    self
/gnu/store/jv78mm3dmr6fl2hhy1bkbhfpm702v3gq-gcc-12.3.0             292.6   169.4  41.2%
/gnu/store/zh4x65snfis7svs6906gj1z8i7dx2j3m-binutils-2.38           95.5    54.9  13.4%
/gnu/store/g8p09w6r78hhkl2rv1747pcp9zbk6fxv-guile-3.0.9            134.0    53.1  12.9%
/gnu/store/gsjczqir1wbz8p770zndrpw4rnppmxi3-glibc-2.35              40.6    38.8   9.4%
/gnu/store/gmv6n5vy5qcsn71pkapg2hnknyn1p7g3-gcc-12.3.0-lib          76.8    36.2   8.8%
--8<---------------cut here---------------end--------------->8---

However, I’d leave out gcc:debug because (0) it’s unrelated :-), (1)
‘gcc-final’ has no “debug” output, and (2) it’s really for a niche
(folks developing compiler plugins, typically).

I’d also leave out the /lib directory of Binutils, which is again rarely
useful.

WDYT?

Thanks,
Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#63393; Package guix-patches. (Sun, 16 Jul 2023 18:35:01 GMT) Full text and rfc822 format available.

Message #20 received at 63393 <at> debbugs.gnu.org (full text, mbox):

From: John Kehayias <john.kehayias <at> protonmail.com>
To: Ludovic Courtès <ludo <at> gnu.org>,
 Simon Tournier <zimon.toutoune <at> gmail.com>,
 Kaelyn <kaelyn.alexi <at> protonmail.com>
Cc: 63393 <at> debbugs.gnu.org
Subject: Re: bug#63393: [PATCH 0/2] Fix libstdc++.so and gcc-toolchain
Date: Sun, 16 Jul 2023 18:33:52 +0000
Hello,

On Thu, May 11, 2023 at 03:38 PM, Ludovic Courtès wrote:

> Hi,
>
> Simon Tournier <zimon.toutoune <at> gmail.com> skribis:
>
>> * gnu/packages/commencement.scm (make-gcc-toolchain): Add 'lib' outputs.
>
> [...]
>
>>                                      (filter-map (match-lambda
>>                                                    (("libc-debug" . _) #f)
>>                                                    (("libc-static" . _) #f)
>> +                                                  (("gcc-lib" . _) #f)
>> +                                                  (("gcc-debug" . _) #f)
>
> I would include gcc:lib in “out” (thus not adding a “lib” output to
> ‘gcc-toolchain’).
>
> Yes, gcc:lib includes *.a and *.la, but those are already part of the
> ‘gcc-toolchain’ closure:
>
> $ guix size gcc-toolchain |head -6
> store item                                                       total    self
> /gnu/store/jv78mm3dmr6fl2hhy1bkbhfpm702v3gq-gcc-12.3.0             292.6   169.4  41.2%
> /gnu/store/zh4x65snfis7svs6906gj1z8i7dx2j3m-binutils-2.38           95.5    54.9  13.4%
> /gnu/store/g8p09w6r78hhkl2rv1747pcp9zbk6fxv-guile-3.0.9            134.0    53.1  12.9%
> /gnu/store/gsjczqir1wbz8p770zndrpw4rnppmxi3-glibc-2.35              40.6    38.8   9.4%
> /gnu/store/gmv6n5vy5qcsn71pkapg2hnknyn1p7g3-gcc-12.3.0-lib          76.8    36.2   8.8%
>
> However, I’d leave out gcc:debug because (0) it’s unrelated :-), (1)
> ‘gcc-final’ has no “debug” output, and (2) it’s really for a niche
> (folks developing compiler plugins, typically).
>
> I’d also leave out the /lib directory of Binutils, which is again rarely
> useful.
>
> WDYT?
>

I don't have any strong opinions on the organization here of these
outputs, happy to defer to whatever others decide here. It would be nice
to have this sorted and taken care of before we forget about it :)

However, I think this message from Kaelyn only went to the bug number
(just saw that as I went to reply here) so I'm including it here:

On Tue, May 09, 2023 at 06:50 PM, Kaelyn wrote:

> Hi,
>
> I like the direction of this patch. However, if gcc-toolchain:lib is
> intended to provide the runtime libraries when the full compiler isn't
> needed, then I think the .a and .la files should be moved back to the
> main gcc-toolchain output (or a separate :static output) since they
> are for static linking and the .a files in particular can be sizeable.
>
> Cheers,
> Kaelyn






Information forwarded to guix-patches <at> gnu.org:
bug#63393; Package guix-patches. (Thu, 26 Oct 2023 13:18:02 GMT) Full text and rfc822 format available.

Message #23 received at 63393 <at> debbugs.gnu.org (full text, mbox):

From: Isaac van Bakel <isaac.vanbakel <at> inf.ethz.ch>
To: <63393 <at> debbugs.gnu.org>
Subject: [PATCH 0/2] Fix libstdc++.so and gcc-toolchain
Date: Thu, 26 Oct 2023 14:11:12 +0200
Hi,

Is there anything I can do to help (a version of) this patch get over 
the line?

I'm currently in a state when I want to use libgcc_s.so.1, which is only 
provided by gcc:lib, which doesn't set the library path properly. 
According to #25072, gcc-toolchain should support my use-case.

Thanks,

Isaac





Information forwarded to guix-patches <at> gnu.org:
bug#63393; Package guix-patches. (Tue, 16 Jan 2024 22:17:01 GMT) Full text and rfc822 format available.

Message #26 received at 63393 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: John Kehayias <john.kehayias <at> protonmail.com>
Cc: Ludovic Courtès <ludo <at> gnu.org>, 63393 <at> debbugs.gnu.org,
 Kaelyn <kaelyn.alexi <at> protonmail.com>,
 Simon Tournier <zimon.toutoune <at> gmail.com>
Subject: Re: [bug#63393] [PATCH 0/2] Fix libstdc++.so and gcc-toolchain
Date: Tue, 16 Jan 2024 17:16:21 -0500
Hello,

John Kehayias <john.kehayias <at> protonmail.com> writes:

> Hello,
>
> On Thu, May 11, 2023 at 03:38 PM, Ludovic Courtès wrote:
>
>> Hi,
>>
>> Simon Tournier <zimon.toutoune <at> gmail.com> skribis:
>>
>>> * gnu/packages/commencement.scm (make-gcc-toolchain): Add 'lib' outputs.
>>
>> [...]
>>
>>>                                      (filter-map (match-lambda
>>>                                                    (("libc-debug" . _) #f)
>>>                                                    (("libc-static" . _) #f)
>>> +                                                  (("gcc-lib" . _) #f)
>>> +                                                  (("gcc-debug" . _) #f)
>>
>> I would include gcc:lib in “out” (thus not adding a “lib” output to
>> ‘gcc-toolchain’).
>>
>> Yes, gcc:lib includes *.a and *.la, but those are already part of the
>> ‘gcc-toolchain’ closure:
>>
>> $ guix size gcc-toolchain |head -6
>> store item                                                       total    self
>> /gnu/store/jv78mm3dmr6fl2hhy1bkbhfpm702v3gq-gcc-12.3.0             292.6   169.4  41.2%
>> /gnu/store/zh4x65snfis7svs6906gj1z8i7dx2j3m-binutils-2.38           95.5    54.9  13.4%
>> /gnu/store/g8p09w6r78hhkl2rv1747pcp9zbk6fxv-guile-3.0.9            134.0    53.1  12.9%
>> /gnu/store/gsjczqir1wbz8p770zndrpw4rnppmxi3-glibc-2.35              40.6    38.8   9.4%
>> /gnu/store/gmv6n5vy5qcsn71pkapg2hnknyn1p7g3-gcc-12.3.0-lib          76.8    36.2   8.8%

Moreover, the closure of 'gcc' itself, as can be found with:

--8<---------------cut here---------------start------------->8---
$ guix size $(guix build -e '(@@ (gnu packages gcc) gcc)' | tail -n1 )'
élément du dépôt                                                 total    lui-même
/gnu/store/hfppkc3p39rxrwd1g45n3239j9d0f8qd-gcc-11.3.0             267.8   146.1  54.5%
/gnu/store/ln6hxqjvz6m9gdd9s97pivlqck7hzs99-glibc-2.35              40.6    38.8  14.5%
/gnu/store/k9q9jxsqldxz0yl65rcgpnnncqwha2qi-gcc-11.3.0-lib          75.3    34.7  13.0%
/gnu/store/6ncav55lbk5kqvwwflrzcr41hp5jbq0c-gcc-11.3.0-lib          75.3    34.7  13.0%
/gnu/store/gdy0b065fk8wwxv49ln0c7892pam78z1-isl-0.24                83.2     5.2   1.9%
/gnu/store/dpvr7rj89j7xdnzpjhhll8dpqh3fizz5-gmp-6.2.1               78.0     2.7   1.0%
/gnu/store/4vn8m606saf5i3nvksgvl958c0i0nvsn-mpfr-4.2.0              80.2     2.2   0.8%
/gnu/store/zzyywykw7kriln18rxqd82f0k5kidla7-bash-static-5.1.16       1.8     1.8   0.7%
/gnu/store/v9p25q9l5nnaixkhpap5rnymmwbhf9rp-bash-minimal-5.1.16     41.6     1.0   0.4%
/gnu/store/w55122b226ss928lxxg58plalah3xl9h-mpc-1.3.1               80.6     0.5   0.2%
/gnu/store/hl6lb3irs8wrfv49fnirxshsq590pi9v-zlib-1.2.13             75.5     0.2   0.1%
total : 267.8 Mio
--8<---------------cut here---------------end--------------->8---

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?

-- 
Thanks,
Maxim




Information forwarded to guix-patches <at> gnu.org:
bug#63393; Package guix-patches. (Wed, 24 Jan 2024 17:10:02 GMT) Full text and rfc822 format available.

Message #29 received at 63393 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Cc: John Kehayias <john.kehayias <at> protonmail.com>, 63393 <at> debbugs.gnu.org,
 Kaelyn <kaelyn.alexi <at> protonmail.com>,
 Simon Tournier <zimon.toutoune <at> gmail.com>
Subject: Re: [bug#63393] [PATCH 0/2] Fix libstdc++.so and gcc-toolchain
Date: Wed, 24 Jan 2024 18:08:47 +0100
Hi,

Maxim Cournoyer <maxim.cournoyer <at> gmail.com> 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:

--8<---------------cut here---------------start------------->8---
$ 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
--8<---------------cut here---------------end--------------->8---

Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#63393; Package guix-patches. (Wed, 24 Jan 2024 19:12:02 GMT) Full text and rfc822 format available.

Message #32 received at 63393 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: John Kehayias <john.kehayias <at> protonmail.com>, 63393 <at> debbugs.gnu.org,
 Kaelyn <kaelyn.alexi <at> protonmail.com>,
 Simon Tournier <zimon.toutoune <at> gmail.com>
Subject: Re: [bug#63393] [PATCH 0/2] Fix libstdc++.so and gcc-toolchain
Date: Wed, 24 Jan 2024 14:11:29 -0500
Hi Ludo,

Ludovic Courtès <ludo <at> gnu.org> writes:

> Hi,
>
> Maxim Cournoyer <maxim.cournoyer <at> gmail.com> 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




Information forwarded to guix-patches <at> gnu.org:
bug#63393; Package guix-patches. (Wed, 03 Apr 2024 19:23:01 GMT) Full text and rfc822 format available.

Message #35 received at 63393 <at> debbugs.gnu.org (full text, mbox):

From: John Kehayias <john.kehayias <at> protonmail.com>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: Isaac van Bakel <isaac.vanbakel <at> inf.ethz.ch>, 63393 <at> debbugs.gnu.org,
 Kaelyn <kaelyn.alexi <at> protonmail.com>,
 Simon Tournier <zimon.toutoune <at> gmail.com>
Subject: Re: [bug#63393] [PATCH 0/2] Fix libstdc++.so and gcc-toolchain
Date: Wed, 03 Apr 2024 19:22:06 +0000
Hi everyone,

(And adding another CC for Isaac, where I think their message went just
to the debbugs address, which goes to no one. Another victim of needing
a "wide reply" which is easy from e.g. Emacs but not obvious especially
for people who don't interact with debbugs much as I can attest to in my
earlier days. Anyway, that's yet another issue to improve elsewhere.)

On Sun, Jul 16, 2023 at 06:33 PM, John Kehayias wrote:

> Hello,
>
> On Thu, May 11, 2023 at 03:38 PM, Ludovic Courtès wrote:
>
>> Hi,
>>
>> Simon Tournier <zimon.toutoune <at> gmail.com> skribis:
>>
>>> * gnu/packages/commencement.scm (make-gcc-toolchain): Add 'lib' outputs.
>>
>> [...]
>>
>>>                                      (filter-map (match-lambda
>>>                                                    (("libc-debug" . _) #f)
>>>                                                    (("libc-static" . _) #f)
>>> +                                                  (("gcc-lib" . _) #f)
>>> +                                                  (("gcc-debug" . _) #f)
>>
>> I would include gcc:lib in “out” (thus not adding a “lib” output to
>> ‘gcc-toolchain’).
>>
>> Yes, gcc:lib includes *.a and *.la, but those are already part of the
>> ‘gcc-toolchain’ closure:
>>
>> $ guix size gcc-toolchain |head -6
>> store item                                                       total    self
>> /gnu/store/jv78mm3dmr6fl2hhy1bkbhfpm702v3gq-gcc-12.3.0             292.6   169.4  41.2%
>> /gnu/store/zh4x65snfis7svs6906gj1z8i7dx2j3m-binutils-2.38           95.5    54.9  13.4%
>> /gnu/store/g8p09w6r78hhkl2rv1747pcp9zbk6fxv-guile-3.0.9            134.0    53.1  12.9%
>> /gnu/store/gsjczqir1wbz8p770zndrpw4rnppmxi3-glibc-2.35              40.6    38.8   9.4%
>> /gnu/store/gmv6n5vy5qcsn71pkapg2hnknyn1p7g3-gcc-12.3.0-lib          76.8    36.2   8.8%
>>
>> However, I’d leave out gcc:debug because (0) it’s unrelated :-), (1)
>> ‘gcc-final’ has no “debug” output, and (2) it’s really for a niche
>> (folks developing compiler plugins, typically).
>>
>> I’d also leave out the /lib directory of Binutils, which is again rarely
>> useful.
>>
>> WDYT?
>>

To return to this, at the very least so I don't have to give the
incantation (which I got from someone else): guix shell -e '(list (@@
(gnu packages commencement) gcc) "lib")' to someone on IRC every few
days.

I'm sending a V2 of sorts, where it is the first patch from Simon (I had
to make a minor adjustment for it to apply cleanly now, please double
check!) and then my own very basic patch to solve the issue at hand:
just add gcc:lib to the inputs. I checked that building gcc-toolchain
works and includes libstdc++ and libgcc_s, which are the ones everyone
always asks about and assumes would be in gcc-toolchain.

What do we all think?

This is low impact and I don't think should negatively affect anything
so it would be great to get this pushed and close this finally :-)

Hope all is well!
John





Information forwarded to guix-patches <at> gnu.org:
bug#63393; Package guix-patches. (Wed, 03 Apr 2024 19:27:03 GMT) Full text and rfc822 format available.

Message #38 received at 63393 <at> debbugs.gnu.org (full text, mbox):

From: John Kehayias <john.kehayias <at> protonmail.com>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: Isaac van Bakel <isaac.vanbakel <at> inf.ethz.ch>,
 Simon Tournier <zimon.toutoune <at> gmail.com>,
 Kaelyn <kaelyn.alexi <at> protonmail.com>, 63393 <at> debbugs.gnu.org
Subject: [bug#63393] [PATCH V2 1/2] gnu: gcc-toolchain: Do not use gcc-final.
Date: Wed, 03 Apr 2024 19:26:10 +0000
[Message part 1 (text/plain, inline)]
Empty Message
[0001-gnu-gcc-toolchain-Do-not-use-gcc-final.patch (text/x-patch, attachment)]

Information forwarded to guix-patches <at> gnu.org:
bug#63393; Package guix-patches. (Wed, 03 Apr 2024 19:28:01 GMT) Full text and rfc822 format available.

Message #41 received at 63393 <at> debbugs.gnu.org (full text, mbox):

From: John Kehayias <john.kehayias <at> protonmail.com>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: Isaac van Bakel <isaac.vanbakel <at> inf.ethz.ch>,
 Simon Tournier <zimon.toutoune <at> gmail.com>,
 Kaelyn <kaelyn.alexi <at> protonmail.com>, 63393 <at> debbugs.gnu.org
Subject: [bug#63393] [PATCH V2 2/2] gnu: make-gcc-toolchain: Add gcc:lib.
Date: Wed, 03 Apr 2024 19:27:03 +0000
[Message part 1 (text/plain, inline)]
Empty Message
[0002-gnu-make-gcc-toolchain-Add-gcc-lib.patch (text/x-patch, attachment)]

Information forwarded to guix-patches <at> gnu.org:
bug#63393; Package guix-patches. (Wed, 10 Apr 2024 21:23:02 GMT) Full text and rfc822 format available.

Message #44 received at 63393 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: John Kehayias <john.kehayias <at> protonmail.com>
Cc: Isaac van Bakel <isaac.vanbakel <at> inf.ethz.ch>,
 Simon Tournier <zimon.toutoune <at> gmail.com>,
 Kaelyn <kaelyn.alexi <at> protonmail.com>, 63393 <at> debbugs.gnu.org
Subject: Re: [bug#63393] [PATCH 0/2] Fix libstdc++.so and gcc-toolchain
Date: Wed, 10 Apr 2024 23:21:59 +0200
Hi John,

John Kehayias <john.kehayias <at> protonmail.com> skribis:

> I'm sending a V2 of sorts, where it is the first patch from Simon (I had
> to make a minor adjustment for it to apply cleanly now, please double
> check!) and then my own very basic patch to solve the issue at hand:
> just add gcc:lib to the inputs. I checked that building gcc-toolchain
> works and includes libstdc++ and libgcc_s, which are the ones everyone
> always asks about and assumes would be in gcc-toolchain.
>
> What do we all think?

The two patches you sent LGTM.  Thanks for getting the ball rolling!

Ludo’.




Reply sent to John Kehayias <john.kehayias <at> protonmail.com>:
You have taken responsibility. (Wed, 17 Apr 2024 05:16:02 GMT) Full text and rfc822 format available.

Notification sent to Simon Tournier <zimon.toutoune <at> gmail.com>:
bug acknowledged by developer. (Wed, 17 Apr 2024 05:16:02 GMT) Full text and rfc822 format available.

Message #49 received at 63393-done <at> debbugs.gnu.org (full text, mbox):

From: John Kehayias <john.kehayias <at> protonmail.com>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: Isaac van Bakel <isaac.vanbakel <at> inf.ethz.ch>, 63393-done <at> debbugs.gnu.org,
 Kaelyn <kaelyn.alexi <at> protonmail.com>,
 Simon Tournier <zimon.toutoune <at> gmail.com>
Subject: Re: [bug#63393] [PATCH 0/2] Fix libstdc++.so and gcc-toolchain
Date: Wed, 17 Apr 2024 05:15:11 +0000
On Wed, Apr 10, 2024 at 11:21 PM, Ludovic Courtès wrote:

> Hi John,
>
> John Kehayias <john.kehayias <at> protonmail.com> skribis:
>
>> I'm sending a V2 of sorts, where it is the first patch from Simon (I had
>> to make a minor adjustment for it to apply cleanly now, please double
>> check!) and then my own very basic patch to solve the issue at hand:
>> just add gcc:lib to the inputs. I checked that building gcc-toolchain
>> works and includes libstdc++ and libgcc_s, which are the ones everyone
>> always asks about and assumes would be in gcc-toolchain.
>>
>> What do we all think?
>
> The two patches you sent LGTM.  Thanks for getting the ball rolling!
>
> Ludo’.

Thanks everyone! Pushed as b47ae1ecc43baaf726701ab2d2f810ecfaa75428.





bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 15 May 2024 11:24:11 GMT) Full text and rfc822 format available.

This bug report was last modified 1 day ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.