From unknown Sun Aug 17 22:09:28 2025 X-Loop: help-debbugs@gnu.org Subject: bug#30710: guix graph gives duplicate nodes Resent-From: Hartmut Goebel Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Mon, 05 Mar 2018 09:38:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 30710 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 30710@debbugs.gnu.org X-Debbugs-Original-To: bug-guix Received: via spool by submit@debbugs.gnu.org id=B.1520242677459 (code B ref -1); Mon, 05 Mar 2018 09:38:02 +0000 Received: (at submit) by debbugs.gnu.org; 5 Mar 2018 09:37:57 +0000 Received: from localhost ([127.0.0.1]:45131 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1esmZB-00007L-8u for submit@debbugs.gnu.org; Mon, 05 Mar 2018 04:37:57 -0500 Received: from eggs.gnu.org ([208.118.235.92]:57567) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1esmZ9-000078-Lc for submit@debbugs.gnu.org; Mon, 05 Mar 2018 04:37:55 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1esmZ3-0004tJ-Gh for submit@debbugs.gnu.org; Mon, 05 Mar 2018 04:37:50 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:57899) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1esmZ3-0004tB-Be for submit@debbugs.gnu.org; Mon, 05 Mar 2018 04:37:49 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48534) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1esmZ2-00053F-9t for bug-guix@gnu.org; Mon, 05 Mar 2018 04:37:49 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1esmYx-0004rQ-Cc for bug-guix@gnu.org; Mon, 05 Mar 2018 04:37:48 -0500 Received: from mail-out.m-online.net ([212.18.0.9]:57690) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1esmYx-0004qm-5I for bug-guix@gnu.org; Mon, 05 Mar 2018 04:37:43 -0500 Received: from frontend01.mail.m-online.net (unknown [192.168.8.182]) by mail-out.m-online.net (Postfix) with ESMTP id 3zvvvm6ppwz1qwC6 for ; Mon, 5 Mar 2018 10:37:40 +0100 (CET) Received: from localhost (dynscan1.mnet-online.de [192.168.6.70]) by mail.m-online.net (Postfix) with ESMTP id 3zvvvm6FrSz1sQwq for ; Mon, 5 Mar 2018 10:37:40 +0100 (CET) X-Virus-Scanned: amavisd-new at mnet-online.de Received: from mail.mnet-online.de ([192.168.8.182]) by localhost (dynscan1.mail.m-online.net [192.168.6.70]) (amavisd-new, port 10024) with ESMTP id w7ys1OKtWhRG for ; Mon, 5 Mar 2018 10:37:40 +0100 (CET) Received: from hermia.goebel-consult.de (ppp-83-171-155-123.dynamic.mnet-online.de [83.171.155.123]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.mnet-online.de (Postfix) with ESMTPS for ; Mon, 5 Mar 2018 10:37:40 +0100 (CET) Received: from thisbe.goebel-consult.de (hermia.goebel-consult.de [192.168.110.7]) by hermia.goebel-consult.de (Postfix) with ESMTP id 8042760AA9 for ; Mon, 5 Mar 2018 10:37:39 +0100 (CET) From: Hartmut Goebel Organization: crazy-compilers.com Message-ID: <86fb9895-768a-bea0-154c-070861c0bb1d@crazy-compilers.com> Date: Mon, 5 Mar 2018 10:37:39 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Content-Language: en-US X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -5.0 (-----) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Hi, "guix graph" delivers the same package with different IDs. Here is an example with a node delivered twice. (For plasma-workspace, which I'm working on, this package was even listed four times). $ ./pre-inst-env guix graph -t package -b graphviz qtbase | grep autoconf-wrapper =C2=A0 "59511552" [label =3D "autoconf-wrapper-2.69", shape =3D box, font= name =3D Helvetica]; =C2=A0 "59511744" [label =3D "autoconf-wrapper-2.69", shape =3D box, font= name =3D Helvetica]; --=20 Regards Hartmut Goebel | Hartmut Goebel | h.goebel@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible | From unknown Sun Aug 17 22:09:28 2025 X-Loop: help-debbugs@gnu.org Subject: bug#30710: guix graph gives duplicate nodes Resent-From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Mon, 05 Mar 2018 17:20:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 30710 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: Hartmut Goebel Cc: 30710@debbugs.gnu.org Received: via spool by 30710-submit@debbugs.gnu.org id=B30710.152027035517706 (code B ref 30710); Mon, 05 Mar 2018 17:20:01 +0000 Received: (at 30710) by debbugs.gnu.org; 5 Mar 2018 17:19:15 +0000 Received: from localhost ([127.0.0.1]:46153 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1estla-0004bW-Tl for submit@debbugs.gnu.org; Mon, 05 Mar 2018 12:19:15 -0500 Received: from hera.aquilenet.fr ([185.233.100.1]:39674) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1estla-0004bP-5K for 30710@debbugs.gnu.org; Mon, 05 Mar 2018 12:19:14 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id A523F10D8B; Mon, 5 Mar 2018 18:19:13 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id p2b40ZPs7fle; Mon, 5 Mar 2018 18:19:13 +0100 (CET) Received: from ribbon (unknown [193.50.110.134]) by hera.aquilenet.fr (Postfix) with ESMTPSA id E983110638; Mon, 5 Mar 2018 18:19:12 +0100 (CET) From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) References: <86fb9895-768a-bea0-154c-070861c0bb1d@crazy-compilers.com> Date: Mon, 05 Mar 2018 18:19:12 +0100 In-Reply-To: <86fb9895-768a-bea0-154c-070861c0bb1d@crazy-compilers.com> (Hartmut Goebel's message of "Mon, 5 Mar 2018 10:37:39 +0100") Message-ID: <87d10i8mpb.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 1.0 (+) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) Hello, Hartmut Goebel skribis: > "guix graph" delivers the same package with different IDs. Here is an > example with a node delivered twice. (For plasma-workspace, which I'm > working on, this package was even listed four times). > > $ ./pre-inst-env guix graph -t package -b graphviz qtbase | grep > autoconf-wrapper > =C2=A0 "59511552" [label =3D "autoconf-wrapper-2.69", shape =3D box, font= name =3D > Helvetica]; > =C2=A0 "59511744" [label =3D "autoconf-wrapper-2.69", shape =3D box, font= name =3D > Helvetica]; This is expected. Strictly speaking, we=E2=80=99re talking about two diffe= rent package objects, hence the different IDs. Now, there are cases were we have multiple package objects mapping to a single derivation. That=E2=80=99s OK. You can use =E2=80=9Cguix graph -t = bag=E2=80=9D or similar if you want nodes that correspond to derivations. HTH! Ludo=E2=80=99. From unknown Sun Aug 17 22:09:28 2025 X-Loop: help-debbugs@gnu.org Subject: bug#30710: guix graph gives duplicate nodes Resent-From: Hartmut Goebel Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Tue, 06 Mar 2018 20:29:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 30710 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 30710@debbugs.gnu.org Received: via spool by 30710-submit@debbugs.gnu.org id=B30710.152036811415074 (code B ref 30710); Tue, 06 Mar 2018 20:29:01 +0000 Received: (at 30710) by debbugs.gnu.org; 6 Mar 2018 20:28:34 +0000 Received: from localhost ([127.0.0.1]:48061 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1etJCM-0003v4-DT for submit@debbugs.gnu.org; Tue, 06 Mar 2018 15:28:34 -0500 Received: from mail-out.m-online.net ([212.18.0.10]:51917) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1etJCL-0003uv-9x for 30710@debbugs.gnu.org; Tue, 06 Mar 2018 15:28:33 -0500 Received: from frontend01.mail.m-online.net (unknown [192.168.8.182]) by mail-out.m-online.net (Postfix) with ESMTP id 3zwpJJ565nz1qqkl; Tue, 6 Mar 2018 21:28:32 +0100 (CET) Received: from localhost (dynscan1.mnet-online.de [192.168.6.70]) by mail.m-online.net (Postfix) with ESMTP id 3zwpJJ433Hz1qwkN; Tue, 6 Mar 2018 21:28:32 +0100 (CET) X-Virus-Scanned: amavisd-new at mnet-online.de Received: from mail.mnet-online.de ([192.168.8.182]) by localhost (dynscan1.mail.m-online.net [192.168.6.70]) (amavisd-new, port 10024) with ESMTP id dhLrINPb61xS; Tue, 6 Mar 2018 21:28:31 +0100 (CET) Received: from hermia.goebel-consult.de (ppp-93-104-162-164.dynamic.mnet-online.de [93.104.162.164]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.mnet-online.de (Postfix) with ESMTPS; Tue, 6 Mar 2018 21:28:31 +0100 (CET) Received: from thisbe.goebel-consult.de (hermia.goebel-consult.de [192.168.110.7]) by hermia.goebel-consult.de (Postfix) with ESMTP id 8A7876015D; Tue, 6 Mar 2018 21:28:31 +0100 (CET) References: <86fb9895-768a-bea0-154c-070861c0bb1d@crazy-compilers.com> <87d10i8mpb.fsf@gnu.org> From: Hartmut Goebel Organization: crazy-compilers.com Message-ID: Date: Tue, 6 Mar 2018 21:28:31 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 MIME-Version: 1.0 In-Reply-To: <87d10i8mpb.fsf@gnu.org> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Content-Language: en-US X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Hi, > This is expected. Strictly speaking, we’re talking about two different > package objects, hence the different IDs. I wonder a) whether it is useful to have different graph nodes for the same package. This is about usability of the resulting graph, esp. since this is the default graph output format. Does it help *users* for their analysis? Or is this some *expert* insight? b) how there can be different package objects for the same package To my understanding, e.g. (gnu packages base) is loaded once, defining package object abcd once and assigning it to a variable. All packages referring to abcd use the some package object. So there should be only *one* package object. -- Regards Hartmut Goebel | Hartmut Goebel | h.goebel@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible | From unknown Sun Aug 17 22:09:28 2025 X-Loop: help-debbugs@gnu.org Subject: bug#30710: guix graph gives duplicate nodes Resent-From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Wed, 07 Mar 2018 15:20:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 30710 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: Hartmut Goebel Cc: 30710@debbugs.gnu.org Received: via spool by 30710-submit@debbugs.gnu.org id=B30710.15204359441720 (code B ref 30710); Wed, 07 Mar 2018 15:20:01 +0000 Received: (at 30710) by debbugs.gnu.org; 7 Mar 2018 15:19:04 +0000 Received: from localhost ([127.0.0.1]:49672 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1etaqN-0000Rg-QN for submit@debbugs.gnu.org; Wed, 07 Mar 2018 10:19:03 -0500 Received: from hera.aquilenet.fr ([185.233.100.1]:45708) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1etaqM-0000RF-4A for 30710@debbugs.gnu.org; Wed, 07 Mar 2018 10:19:02 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id CACEB1039E; Wed, 7 Mar 2018 16:19:00 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 9rmk_DeU91vH; Wed, 7 Mar 2018 16:19:00 +0100 (CET) Received: from ribbon (vpn-0-27.aquilenet.fr [IPv6:2a0c:e300:4:27::]) by hera.aquilenet.fr (Postfix) with ESMTPSA id D857D1034F; Wed, 7 Mar 2018 16:18:59 +0100 (CET) From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) References: <86fb9895-768a-bea0-154c-070861c0bb1d@crazy-compilers.com> <87d10i8mpb.fsf@gnu.org> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 17 =?UTF-8?Q?Vent=C3=B4se?= an 226 de la =?UTF-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Wed, 07 Mar 2018 16:18:51 +0100 In-Reply-To: (Hartmut Goebel's message of "Tue, 6 Mar 2018 21:28:31 +0100") Message-ID: <87efkvsylg.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 1.0 (+) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) Hello, Hartmut Goebel skribis: >> This is expected. Strictly speaking, we=E2=80=99re talking about two di= fferent >> package objects, hence the different IDs. > > I wonder > > a) whether it is useful to have different graph nodes for the same packag= e. > > This is about usability of the resulting graph, esp. since this is the > default graph output format. Does it help *users* for their analysis? Or > is this some *expert* insight? As explained in =E2=80=9CInvoking guix graph=E2=80=9D, the tool provides di= fferent graph types, each at its own abstraction level. The package graph is high-level, but as a side-effect it has this artifact. To developers it=E2=80=99s actually useful to see the graph of package obje= cts. There are cases where, with functions that return packages, you would notice that you=E2=80=99re generating lots of package objects for the same underlying derivation, which is super inefficient (in particular it defeats memoization). Most of the time, there=E2=80=99s exactly one package object for each derivation; if not, that=E2=80=99s usually a bug. > b) how there can be different package objects for the same package > > To my understanding, e.g. (gnu packages base) is loaded once, defining > package object abcd once and assigning it to a variable. All packages > referring to abcd use the some package object. So there should be only > *one* package object. (eq? foo (package (inherit foo))) =3D> #false Yet, these two packages map to the very same derivation. HTH, Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Thu Mar 08 04:08:19 2018 Received: (at control) by debbugs.gnu.org; 8 Mar 2018 09:08:19 +0000 Received: from localhost ([127.0.0.1]:50171 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1etrX9-0007Wd-N5 for submit@debbugs.gnu.org; Thu, 08 Mar 2018 04:08:19 -0500 Received: from mail3-relais-sop.national.inria.fr ([192.134.164.104]:34469) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1etrX8-0007WL-PF for control@debbugs.gnu.org; Thu, 08 Mar 2018 04:08:19 -0500 X-IronPort-AV: E=Sophos;i="5.47,440,1515452400"; d="scan'208";a="257442729" Received: from unknown (HELO ribbon) ([193.50.110.144]) by mail3-relais-sop.national.inria.fr with ESMTP/TLS/AES256-GCM-SHA384; 08 Mar 2018 10:08:12 +0100 Date: Thu, 08 Mar 2018 10:08:11 +0100 Message-Id: <87sh9bnddw.fsf@gnu.org> To: control@debbugs.gnu.org From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: control message for bug #30710 MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -4.0 (----) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.0 (----) tags 30710 notabug close 30710 From unknown Sun Aug 17 22:09:28 2025 X-Loop: help-debbugs@gnu.org Subject: bug#30710: guix graph gives duplicate nodes Resent-From: =?UTF-8?Q?Bj=C3=B6rn_?= =?UTF-8?Q?H=C3=B6fling?= Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Fri, 09 Mar 2018 10:10:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 30710 X-GNU-PR-Package: guix X-GNU-PR-Keywords: notabug To: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Cc: 30710@debbugs.gnu.org, Hartmut Goebel Received: via spool by 30710-submit@debbugs.gnu.org id=B30710.152059016121634 (code B ref 30710); Fri, 09 Mar 2018 10:10:01 +0000 Received: (at 30710) by debbugs.gnu.org; 9 Mar 2018 10:09:21 +0000 Received: from localhost ([127.0.0.1]:51749 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1euExl-0005cs-JM for submit@debbugs.gnu.org; Fri, 09 Mar 2018 05:09:21 -0500 Received: from m4s11.vlinux.de ([83.151.27.109]:44176 helo=bjoernhoefling.de) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1euExk-0005ck-EJ for 30710@debbugs.gnu.org; Fri, 09 Mar 2018 05:09:21 -0500 Received: from alma-ubu (pD951FC9C.dip0.t-ipconnect.de [217.81.252.156]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by bjoernhoefling.de (Postfix) with ESMTPSA id CCC6440A40; Fri, 9 Mar 2018 11:09:18 +0100 (CET) Date: Fri, 9 Mar 2018 11:09:17 +0100 From: =?UTF-8?Q?Bj=C3=B6rn_?= =?UTF-8?Q?H=C3=B6fling?= Message-ID: <20180309110917.79b14a36@alma-ubu> In-Reply-To: <87efkvsylg.fsf@gnu.org> References: <86fb9895-768a-bea0-154c-070861c0bb1d@crazy-compilers.com> <87d10i8mpb.fsf@gnu.org> <87efkvsylg.fsf@gnu.org> X-Mailer: Claws Mail 3.13.2 (GTK+ 2.24.30; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; boundary="Sig_/qRKTeZ4Jo12ZfRIU91s=wI8"; protocol="application/pgp-signature" X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) --Sig_/qRKTeZ4Jo12ZfRIU91s=wI8 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Wed, 07 Mar 2018 16:18:51 +0100 ludo@gnu.org (Ludovic Court=C3=A8s) wrote: > Hello, >=20 > Hartmut Goebel skribis: >=20 > >> This is expected. Strictly speaking, we=E2=80=99re talking about two > >> different package objects, hence the different IDs. =20 > > > > I wonder > > > > a) whether it is useful to have different graph nodes for the same > > package. > > > > This is about usability of the resulting graph, esp. since this is > > the default graph output format. Does it help *users* for their > > analysis? Or is this some *expert* insight? =20 >=20 > As explained in =E2=80=9CInvoking guix graph=E2=80=9D, the tool provides = different > graph types, each at its own abstraction level. >=20 > The package graph is high-level, but as a side-effect it has this > artifact. >=20 > To developers it=E2=80=99s actually useful to see the graph of package > objects. There are cases where, with functions that return packages, > you would notice that you=E2=80=99re generating lots of package objects f= or > the same underlying derivation, which is super inefficient (in > particular it defeats memoization). >=20 > Most of the time, there=E2=80=99s exactly one package object for each > derivation; if not, that=E2=80=99s usually a bug. >=20 > > b) how there can be different package objects for the same package > > > > To my understanding, e.g. (gnu packages base) is loaded once, > > defining package object abcd once and assigning it to a variable. > > All packages referring to abcd use the some package object. So > > there should be only *one* package object. =20 >=20 > (eq? foo (package (inherit foo))) =3D> #false >=20 > Yet, these two packages map to the very same derivation. This thing really took me a while to think about the graph system in general and this concrete case. Speaking about this concrete case: If you inspect the output of=20 `guix graph qt` you find these interesting lines: "64168128" [label =3D "autoconf-wrapper-2.69", shape =3D box, fontname = =3D Helvetica "64167936" [label =3D "autoconf-wrapper-2.69", shape =3D box, fontname = =3D Helvetica "52941184" -> "64168128" [color =3D darkseagreen]; "52940800" -> "64167936" [color =3D blue]; "52941184" [label =3D "automake-1.15.1", shape =3D box, fontname =3D Helv= etica]; "52940800" [label =3D "libtool-2.4.6", shape =3D box, fontname =3D Helvet= ica]; If you look into gnu/packages/autotools.scm, you see that autoconf-wrapper is not a package, but a package-factory: (define* (autoconf-wrapper #:optional (autoconf autoconf)) Now the package definitions of "automake" and "libtool" each use the same fragment of code in their native-inputs, but a different "package" in the eq?-sense, although they basically want the same thing: `(("autoconf" ,(autoconf-wrapper)) As ludo stated above: "Most of the time, there=E2=80=99s exactly one package object for each derivation; if not, that=E2=80=99s usually a bug." This looks to me like a bug. Correction: (define autoconf-wrapper-default (autoconf-wrapper)) And then use this singular package as native-inputs to libtool and automake. Furthermore, when I search: find . -name "*.scm" -exec grep -H "autoconf-wrapper" "{}" ";" | less I find about 10 packages that use the fabrik, but all in the default way. So instead of: #:export (autoconf-wrapper)) We could just=20 (define-public autoconf-wrapper-default (autoconf-wrapper)) and use that. Or, if noone is using this fabrik, just drop that and make a normal package= out of it. WDYT? Reopen this one? Bj=C3=B6rn --Sig_/qRKTeZ4Jo12ZfRIU91s=wI8 Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iEYEARECAAYFAlqiXU0ACgkQvyhstlk+X/2guACggmTt9KBh6POkgal0Y6oFuiEy 2B0An1rE5zvKJHIFxz1BiCKNqP1+tYIu =wghw -----END PGP SIGNATURE----- --Sig_/qRKTeZ4Jo12ZfRIU91s=wI8-- From unknown Sun Aug 17 22:09:28 2025 X-Loop: help-debbugs@gnu.org Subject: bug#30710: guix graph gives duplicate nodes Resent-From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Fri, 09 Mar 2018 23:00:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 30710 X-GNU-PR-Package: guix X-GNU-PR-Keywords: notabug To: =?UTF-8?Q?Bj=C3=B6rn_?= =?UTF-8?Q?H=C3=B6fling?= Cc: 30710-done@debbugs.gnu.org, Hartmut Goebel Received: via spool by 30710-done@debbugs.gnu.org id=D30710.152063637023951 (code D ref 30710); Fri, 09 Mar 2018 23:00:02 +0000 Received: (at 30710-done) by debbugs.gnu.org; 9 Mar 2018 22:59:30 +0000 Received: from localhost ([127.0.0.1]:52926 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1euQz3-0006EF-MG for submit@debbugs.gnu.org; Fri, 09 Mar 2018 17:59:29 -0500 Received: from hera.aquilenet.fr ([185.233.100.1]:33994) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1euQz2-0006E7-Eu for 30710-done@debbugs.gnu.org; Fri, 09 Mar 2018 17:59:28 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id C6093FFCA; Fri, 9 Mar 2018 23:59:27 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ZLwKyOvOMkEU; Fri, 9 Mar 2018 23:59:26 +0100 (CET) Received: from ribbon (unknown [IPv6:2a01:e0a:1d:7270:af76:b9b:ca24:c465]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 7B25A9D1B; Fri, 9 Mar 2018 23:59:26 +0100 (CET) From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) References: <86fb9895-768a-bea0-154c-070861c0bb1d@crazy-compilers.com> <87d10i8mpb.fsf@gnu.org> <87efkvsylg.fsf@gnu.org> <20180309110917.79b14a36@alma-ubu> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 19 =?UTF-8?Q?Vent=C3=B4se?= an 226 de la =?UTF-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Fri, 09 Mar 2018 23:59:26 +0100 In-Reply-To: <20180309110917.79b14a36@alma-ubu> ("=?UTF-8?Q?Bj=C3=B6rn_?= =?UTF-8?Q?H=C3=B6fling?="'s message of "Fri, 9 Mar 2018 11:09:17 +0100") Message-ID: <87d10cyhwx.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 1.0 (+) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) Bj=C3=B6rn H=C3=B6fling skribis: > If you look into gnu/packages/autotools.scm, you see that > autoconf-wrapper is not a package, but a package-factory: > > (define* (autoconf-wrapper #:optional (autoconf autoconf)) > > Now the package definitions of "automake" and "libtool" each use the > same fragment of code in their native-inputs, but a different "package" > in the eq?-sense, although they basically want the same thing: > > `(("autoconf" ,(autoconf-wrapper)) > > As ludo stated above: "Most of the time, there=E2=80=99s exactly one pack= age > object for each derivation; if not, that=E2=80=99s usually a bug." > > This looks to me like a bug. > > Correction: > > (define autoconf-wrapper-default (autoconf-wrapper)) > > And then use this singular package as native-inputs to libtool and automa= ke. > > Furthermore, when I search: > > find . -name "*.scm" -exec grep -H "autoconf-wrapper" "{}" ";" | less > > I find about 10 packages that use the fabrik, but all in the default way. > > So instead of: > > #:export (autoconf-wrapper)) > > > We could just=20 > > (define-public autoconf-wrapper-default (autoconf-wrapper)) > > and use that. > > Or, if noone is using this fabrik, just drop that and make a normal packa= ge out of it. > > WDYT? Reopen this one? Good catch! I implemented what you suggest above in commit 464f5447396fcec9b43f7eab71d5d42b522a157f. Thank you! Ludo=E2=80=99. From unknown Sun Aug 17 22:09:28 2025 X-Loop: help-debbugs@gnu.org Subject: bug#30710: guix graph gives duplicate nodes Resent-From: Hartmut Goebel Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Sat, 10 Mar 2018 16:32:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 30710 X-GNU-PR-Package: guix X-GNU-PR-Keywords: notabug To: =?UTF-8?Q?Bj=C3=B6rn_?= =?UTF-8?Q?H=C3=B6fling?= , Ludovic =?UTF-8?Q?Court=C3=A8s?= , 30710 <30710@debbugs.gnu.org> Received: via spool by 30710-submit@debbugs.gnu.org id=B30710.152069949623311 (code B ref 30710); Sat, 10 Mar 2018 16:32:01 +0000 Received: (at 30710) by debbugs.gnu.org; 10 Mar 2018 16:31:36 +0000 Received: from localhost ([127.0.0.1]:54481 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1euhPE-00063v-Jh for submit@debbugs.gnu.org; Sat, 10 Mar 2018 11:31:36 -0500 Received: from mail-out.m-online.net ([212.18.0.10]:49283) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1euhPC-00063m-OH for 30710@debbugs.gnu.org; Sat, 10 Mar 2018 11:31:35 -0500 Received: from frontend01.mail.m-online.net (unknown [192.168.8.182]) by mail-out.m-online.net (Postfix) with ESMTP id 3zz8s12QR9z1qtNg; Sat, 10 Mar 2018 17:31:33 +0100 (CET) Received: from localhost (dynscan1.mnet-online.de [192.168.6.70]) by mail.m-online.net (Postfix) with ESMTP id 3zz8s11rncz1r2Zw; Sat, 10 Mar 2018 17:31:33 +0100 (CET) X-Virus-Scanned: amavisd-new at mnet-online.de Received: from mail.mnet-online.de ([192.168.8.182]) by localhost (dynscan1.mail.m-online.net [192.168.6.70]) (amavisd-new, port 10024) with ESMTP id EXZBlImb5r1P; Sat, 10 Mar 2018 17:31:32 +0100 (CET) Received: from hermia.goebel-consult.de (ppp-93-104-182-57.dynamic.mnet-online.de [93.104.182.57]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.mnet-online.de (Postfix) with ESMTPS; Sat, 10 Mar 2018 17:31:32 +0100 (CET) Received: from thisbe.goebel-consult.de (hermia.goebel-consult.de [192.168.110.7]) by hermia.goebel-consult.de (Postfix) with ESMTP id AF6F860893; Sat, 10 Mar 2018 17:31:31 +0100 (CET) References: <86fb9895-768a-bea0-154c-070861c0bb1d@crazy-compilers.com> <87d10i8mpb.fsf@gnu.org> <87efkvsylg.fsf@gnu.org> <20180309110917.79b14a36@alma-ubu> <87d10cyhwx.fsf@gnu.org> <20180310111335.53c3bb1b@alma-ubu> From: Hartmut Goebel Organization: crazy-compilers.com Message-ID: <10e30cb2-d65b-b9b7-dd53-a8ea5adb1f09@crazy-compilers.com> Date: Sat, 10 Mar 2018 17:31:30 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 MIME-Version: 1.0 In-Reply-To: <20180310111335.53c3bb1b@alma-ubu> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Content-Language: de-DE X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On Fri, 09 Mar 2018 23:59:26 +0100 ludo@gnu.org (Ludovic Courtès) wrote: > >> Good catch! I implemented what you suggest above in commit >> 464f5447396fcec9b43f7eab71d5d42b522a157f. Thanks, this solved the issue only partially: On my "kde-plasma" branch: $ ./pre-inst-env guix graph plasma-workspace | grep autoconf   "133094208" [label = "autoconf-wrapper-2.69", shape = box, fontname = Helvetica];   "133094976" [label = "autoconf-2.69", shape = box, fontname = Helvetica];   "152772352" [label = "autoconf-wrapper-2.69", shape = box, fontname = Helvetica];   "152420544" [label = "autoconf-2.69", shape = box, fontname = Helvetica]; There are other packages, which are duplicate but don't have a factory AFAIK: $ ./pre-inst-env guix graph plasma-workspace | grep kbus   "130257472" [label = "kdbusaddons-5.42.0", shape = box, fontname = Helvetica];   "148171200" [label = "kdbusaddons-5.42.0", shape = box, fontname = Helvetica]; -- Regards Hartmut Goebel | Hartmut Goebel | h.goebel@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible | From unknown Sun Aug 17 22:09:28 2025 X-Loop: help-debbugs@gnu.org Subject: bug#30710: guix graph gives duplicate nodes Resent-From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Mon, 12 Mar 2018 14:28:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 30710 X-GNU-PR-Package: guix X-GNU-PR-Keywords: notabug To: Hartmut Goebel Cc: =?UTF-8?Q?Bj=C3=B6rn_?= =?UTF-8?Q?H=C3=B6fling?= , 30710 <30710@debbugs.gnu.org> Received: via spool by 30710-submit@debbugs.gnu.org id=B30710.15208648445604 (code B ref 30710); Mon, 12 Mar 2018 14:28:01 +0000 Received: (at 30710) by debbugs.gnu.org; 12 Mar 2018 14:27:24 +0000 Received: from localhost ([127.0.0.1]:57030 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1evOQ8-0001SJ-IF for submit@debbugs.gnu.org; Mon, 12 Mar 2018 10:27:24 -0400 Received: from hera.aquilenet.fr ([185.233.100.1]:51556) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1evOQ6-0001SB-LZ for 30710@debbugs.gnu.org; Mon, 12 Mar 2018 10:27:23 -0400 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 09E0A123DD; Mon, 12 Mar 2018 15:27:22 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id QkuDzq-eERar; Mon, 12 Mar 2018 15:27:20 +0100 (CET) Received: from ribbon (vpn-0-27.aquilenet.fr [IPv6:2a0c:e300:4:27::]) by hera.aquilenet.fr (Postfix) with ESMTPSA id D10B4123DB; Mon, 12 Mar 2018 15:27:19 +0100 (CET) From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) References: <86fb9895-768a-bea0-154c-070861c0bb1d@crazy-compilers.com> <87d10i8mpb.fsf@gnu.org> <87efkvsylg.fsf@gnu.org> <20180309110917.79b14a36@alma-ubu> <87d10cyhwx.fsf@gnu.org> <20180310111335.53c3bb1b@alma-ubu> <10e30cb2-d65b-b9b7-dd53-a8ea5adb1f09@crazy-compilers.com> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 22 =?UTF-8?Q?Vent=C3=B4se?= an 226 de la =?UTF-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Mon, 12 Mar 2018 15:27:19 +0100 In-Reply-To: <10e30cb2-d65b-b9b7-dd53-a8ea5adb1f09@crazy-compilers.com> (Hartmut Goebel's message of "Sat, 10 Mar 2018 17:31:30 +0100") Message-ID: <87a7vdpdx4.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 1.0 (+) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) Hello, Hartmut Goebel skribis: > On Fri, 09 Mar 2018 23:59:26 +0100 ludo@gnu.org (Ludovic Court=C3=A8s) wr= ote: >> >>> Good catch! I implemented what you suggest above in commit >>> 464f5447396fcec9b43f7eab71d5d42b522a157f. > > Thanks, this solved the issue only partially: On my "kde-plasma" branch: > > $ ./pre-inst-env guix graph plasma-workspace | grep autoconf > =C2=A0 "133094208" [label =3D "autoconf-wrapper-2.69", shape =3D box, fon= tname =3D > Helvetica]; > =C2=A0 "133094976" [label =3D "autoconf-2.69", shape =3D box, fontname = =3D Helvetica]; > =C2=A0 "152772352" [label =3D "autoconf-wrapper-2.69", shape =3D box, fon= tname =3D > Helvetica]; > =C2=A0 "152420544" [label =3D "autoconf-2.69", shape =3D box, fontname = =3D Helvetica]; > > There are other packages, which are duplicate but don't have a factory > AFAIK: > > $ ./pre-inst-env guix graph plasma-workspace | grep kbus > =C2=A0 "130257472" [label =3D "kdbusaddons-5.42.0", shape =3D box, fontna= me =3D > Helvetica]; > =C2=A0 "148171200" [label =3D "kdbusaddons-5.42.0", shape =3D box, fontna= me =3D > Helvetica]; That stems from the use of =E2=80=98package-mapping=E2=80=99 or =E2=80=98package-input-rewriting=E2=80=99 (maybe via =E2=80=98package-with-= python2=E2=80=99), which can create distinct package objects mapping to the same derivation. I don=E2=80=99t have a good solution here. Thanks, Ludo=E2=80=99.