Message ID | cover.1683650835.git.zimon.toutoune@gmail.com |
---|---|
Headers |
Return-Path: <guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org> X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 4828627BBEC; Tue, 9 May 2023 18:00:34 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-3.7 required=5.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI, RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id DD31427BBEB for <patchwork@mira.cbaines.net>; Tue, 9 May 2023 18:00:32 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from <guix-patches-bounces@gnu.org>) id 1pwQh8-0002ye-TH; Tue, 09 May 2023 13:00:10 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1pwQh7-0002yV-NR for guix-patches@gnu.org; Tue, 09 May 2023 13:00:09 -0400 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1pwQh6-00051J-Nx; Tue, 09 May 2023 13:00:08 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1pwQh0-0007du-DF; Tue, 09 May 2023 13:00:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#63393] [PATCH 0/2] Fix libstdc++.so and gcc-toolchain Resent-From: Simon Tournier <zimon.toutoune@gmail.com> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces@debbugs.gnu.org> Resent-CC: mail@cbaines.net, dev@jpoiret.xyz, ludo@gnu.org, othacehe@gnu.org, rekado@elephly.net, zimon.toutoune@gmail.com, me@tobias.gr, guix-patches@gnu.org Resent-Date: Tue, 09 May 2023 17:00:02 +0000 Resent-Message-ID: <handler.63393.B.168365155629282@debbugs.gnu.org> Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 63393 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 63393@debbugs.gnu.org Cc: Simon Tournier <zimon.toutoune@gmail.com>, Christopher Baines <mail@cbaines.net>, Josselin Poiret <dev@jpoiret.xyz>, Ludovic =?utf-8?q?Court=C3=A8s?= <ludo@gnu.org>, Mathieu Othacehe <othacehe@gnu.org>, Ricardo Wurmus <rekado@elephly.net>, Simon Tournier <zimon.toutoune@gmail.com>, Tobias Geerinckx-Rice <me@tobias.gr> X-Debbugs-Original-To: guix-patches@gnu.org X-Debbugs-Original-Xcc: Christopher Baines <mail@cbaines.net>, Josselin Poiret <dev@jpoiret.xyz>, Ludovic =?utf-8?q?Court=C3=A8s?= <ludo@gnu.org>, Mathieu Othacehe <othacehe@gnu.org>, Ricardo Wurmus <rekado@elephly.net>, Simon Tournier <zimon.toutoune@gmail.com>, Tobias Geerinckx-Rice <me@tobias.gr> Received: via spool by submit@debbugs.gnu.org id=B.168365155629282 (code B ref -1); Tue, 09 May 2023 17:00:02 +0000 Received: (at submit) by debbugs.gnu.org; 9 May 2023 16:59:16 +0000 Received: from localhost ([127.0.0.1]:44307 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces@debbugs.gnu.org>) id 1pwQgF-0007cD-Hx for submit@debbugs.gnu.org; Tue, 09 May 2023 12:59:16 -0400 Received: from lists.gnu.org ([209.51.188.17]:42622) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <zimon.toutoune@gmail.com>) id 1pwQgB-0007c4-Uo for submit@debbugs.gnu.org; Tue, 09 May 2023 12:59:14 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <zimon.toutoune@gmail.com>) id 1pwQgB-0002n8-L5 for guix-patches@gnu.org; Tue, 09 May 2023 12:59:11 -0400 Received: from mail-wm1-x336.google.com ([2a00:1450:4864:20::336]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from <zimon.toutoune@gmail.com>) id 1pwQg9-0004ZH-I6 for guix-patches@gnu.org; Tue, 09 May 2023 12:59:11 -0400 Received: by mail-wm1-x336.google.com with SMTP id 5b1f17b1804b1-3f42379d553so4834365e9.1 for <guix-patches@gnu.org>; Tue, 09 May 2023 09:59:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1683651548; x=1686243548; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=NL7nJAfAq8F0Hwd/lD+YNUqhpw3Al37dCRr0cgtFB5A=; b=VMlMPedkRr1D7/D6G/oK2gDzSQZFgrs5mbpfrHA4ELtWQDIdg8UidycOtAQkqBo+w1 e5l1Xp+ompuituOgnr8eNtmSWOUCsJARH3jG9Z9mwzrWeno66SF1SnuYK8EPEeG2HejB TpAGBT6SXM+bVcbpjSLRK227kueC9AWbcIO6krEj8ADI4J4HhfM3yH/EwnMru1D8XyUu 0a1ujKj9JWMbjTBjdI8u0X63n+SaI6rnbdIRcNUJxxZj5++VYGBvglh3V9Cb1Ve7gOmK WMCqxgVcFRLEnn8wcpnBTvBHya8JuMWzMHj+o9Ytz3WKc7+SUEKYl+XsFMpG8xXBZMmL Cv8g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683651548; x=1686243548; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=NL7nJAfAq8F0Hwd/lD+YNUqhpw3Al37dCRr0cgtFB5A=; b=eqMhXov1NSXaVZ7sAua1Q3rZp8jzIkHP3jC0VOAw9GbA9wn5pBnUDu0ORrA+uVmqh0 HXXO/ZpsTKS1SLLyAGudFbAxoJp+mSiM3HcYOTryJgoZOSsf53KnAnUbRySMLUvEwv8O 5hIRxdMmfAP9BDgbnuGztbZxxLOLYCE7CVoMhm7BNGL/hbld+vDBsv8fF6oQzktVJgVJ JM+cQp25flE53weo4I4HBsTA6xr7AXy3AdVr5vJ4cJpBlUYIb1zLAYjVxsW2apmdhIKz kiQYERS57jX2hCFCuHRqm9XQ5oeF03ZNJfkbOisEESCdW8Mz41tVZKEZxlp5yCufKnVI f9ig== X-Gm-Message-State: AC+VfDyRUZUlsHzSZBy0Hag82xITjIheYKAQVSmAiujyt+zIvDQiOtyv VZ7JzxBs+6X760HZ3MJmv1xO+jDsJDA= X-Google-Smtp-Source: ACHHUZ5PSZ0c6WXQz8waX+VoLoshYR36fcYL1iswjnqZKSKDPSfvj17A/G2wfuTclb2t++9rGArG4Q== X-Received: by 2002:a05:600c:1c97:b0:3f4:24fa:ca1c with SMTP id k23-20020a05600c1c9700b003f424faca1cmr5412390wms.0.1683651547525; Tue, 09 May 2023 09:59:07 -0700 (PDT) Received: from localhost.localdomain ([193.48.40.241]) by smtp.gmail.com with ESMTPSA id a11-20020a5d508b000000b00307a86a4bcesm1620229wrt.35.2023.05.09.09.59.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 May 2023 09:59:06 -0700 (PDT) From: Simon Tournier <zimon.toutoune@gmail.com> Date: Tue, 9 May 2023 18:58:59 +0200 Message-Id: <cover.1683650835.git.zimon.toutoune@gmail.com> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=2a00:1450:4864:20::336; envelope-from=zimon.toutoune@gmail.com; helo=mail-wm1-x336.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: <guix-patches.gnu.org> List-Unsubscribe: <https://lists.gnu.org/mailman/options/guix-patches>, <mailto:guix-patches-request@gnu.org?subject=unsubscribe> List-Archive: <https://lists.gnu.org/archive/html/guix-patches> List-Post: <mailto:guix-patches@gnu.org> List-Help: <mailto:guix-patches-request@gnu.org?subject=help> List-Subscribe: <https://lists.gnu.org/mailman/listinfo/guix-patches>, <mailto:guix-patches-request@gnu.org?subject=subscribe> Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches |
Series |
Fix libstdc++.so and gcc-toolchain
|
|
Message
Simon Tournier
May 9, 2023, 4:58 p.m. UTC
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
Comments
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
Hello, On Thu, May 11, 2023 at 03:38 PM, Ludovic Courtès wrote: > Hi, > > Simon Tournier <zimon.toutoune@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
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
Hello, John Kehayias <john.kehayias@protonmail.com> writes: > Hello, > > On Thu, May 11, 2023 at 03:38 PM, Ludovic Courtès wrote: > >> Hi, >> >> Simon Tournier <zimon.toutoune@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?
Hi, Maxim Cournoyer <maxim.cournoyer@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’.
Hi Ludo, Ludovic Courtès <ludo@gnu.org> writes: > Hi, > > Maxim Cournoyer <maxim.cournoyer@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.
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@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
Hi John, John Kehayias <john.kehayias@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’.
On Wed, Apr 10, 2024 at 11:21 PM, Ludovic Courtès wrote: > Hi John, > > John Kehayias <john.kehayias@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.