From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0.migadu.com ([2001:41d0:303:e16b::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms1.migadu.com with LMTPS id kO9NGWIuVGZTRgEAqHPOHw:P1 (envelope-from ) for ; Mon, 27 May 2024 08:55:30 +0200 Received: from aspmx1.migadu.com ([2001:41d0:303:e16b::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0.migadu.com with LMTPS id kO9NGWIuVGZTRgEAqHPOHw (envelope-from ) for ; Mon, 27 May 2024 08:55:30 +0200 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=none ("invalid DKIM record") header.d=freakingpenguin.com header.s=x header.b=DiTIVLch; spf=pass (aspmx1.migadu.com: domain of "bug-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="bug-guix-bounces+larch=yhetil.org@gnu.org"; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1716792930; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:resent-cc:resent-from:resent-sender: resent-message-id:in-reply-to:in-reply-to:references:references: list-id:list-help:list-unsubscribe:list-subscribe:list-post: dkim-signature; bh=g6i3w5s3u3W0ueOiRNMHy+COccpbCJbS7Ml+/H8cJ+E=; b=kGrD3w4oQJdp9gIUocEvgwWtBl/Z2ygKsd+20NuLmg9ZavvB+4eDHmLdrsWuxQuATg3ayw m5U24/3pmiexNUcOhU254EPvrjim7O/nkxW6OfOytZrshLiFsYqeWVpPTrpI7pUOiW6HAP rEhovcoupz/Xbd1UlKk9IGcZY31hU9XoNbYG1qbep3ZpqSZHrH/4AA+VYANIz2Q6uq5n0J rUNBFhDEvXRQW0wR+WqPJIFR9+UA3sLOQmlLgzD3GsmhFQBTNbd8HxrZQIx0H5O9eVTbtL fgUF9ytTFIHDHFzILjByZji+FCjvH4KMjM8QUUQR5p31aOva6XXGsCbEo3qroQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=none ("invalid DKIM record") header.d=freakingpenguin.com header.s=x header.b=DiTIVLch; spf=pass (aspmx1.migadu.com: domain of "bug-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="bug-guix-bounces+larch=yhetil.org@gnu.org"; dmarc=none ARC-Seal: i=1; s=key1; d=yhetil.org; t=1716792930; a=rsa-sha256; cv=none; b=iwI2h2Vvf95WhE33Wmql79buFwj6vZxDsUDu8M9Mpinm/o8WCAyJx3z0rPlF+28jQMtfht L/KrLPxduuoJpNA9Rw+1mHRiQOLwhM7ECHCTjTiEI/+O7Qt1xy0KgMn6fMbGqNG1NsxiLS YjxvPvjBrf2bR+rYuefSNC9kbjhbjqBFG5L7EXodTNmqpQStxtI0FR/GzBBpzvJNcfn3QO pqJY9QctuKZmgYwHb7vqtdd+Bbdnv91Rzl/bA3xmqLIw1I3yuTXmYiiAV8kCEPH9i7sBPA BaxGRGGhm6Lz+liC3fe3H0O+q/zUbxrrsC1MWBT7QaDUcXPKE7QN9WRDEpWFrg== Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 36DB112381 for ; Mon, 27 May 2024 08:55:30 +0200 (CEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sBUGK-0006mU-Nj; Mon, 27 May 2024 02:55:16 -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 ) id 1sBUFx-0006kK-LJ for bug-guix@gnu.org; Mon, 27 May 2024 02:54:53 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sBUFx-0000wl-81 for bug-guix@gnu.org; Mon, 27 May 2024 02:54:53 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1sBUG5-0002e7-Nd for bug-guix@gnu.org; Mon, 27 May 2024 02:55:01 -0400 X-Loop: help-debbugs@gnu.org Subject: bug#62890: Likely cause found, excess library grafting References: In-Reply-To: Resent-From: Richard Sent Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Mon, 27 May 2024 06:55:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62890 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 62890@debbugs.gnu.org Received: via spool by 62890-submit@debbugs.gnu.org id=B62890.171679287310131 (code B ref 62890); Mon, 27 May 2024 06:55:01 +0000 Received: (at 62890) by debbugs.gnu.org; 27 May 2024 06:54:33 +0000 Received: from localhost ([127.0.0.1]:42922 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sBUFc-0002dK-PO for submit@debbugs.gnu.org; Mon, 27 May 2024 02:54:33 -0400 Received: from mail-108-mta94.mxroute.com ([136.175.108.94]:36937) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sBUFZ-0002d9-US for 62890@debbugs.gnu.org; Mon, 27 May 2024 02:54:31 -0400 Received: from filter006.mxroute.com ([136.175.111.3] filter006.mxroute.com) (Authenticated sender: mN4UYu2MZsgR) by mail-108-mta94.mxroute.com (ZoneMTA) with ESMTPSA id 18fb8d40e74000efce.001 for <62890@debbugs.gnu.org> (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384); Mon, 27 May 2024 06:54:16 +0000 X-Zone-Loop: 40ae8d24f0c26eee8b9c1c99ae46e59f0a9aabeaab84 X-Originating-IP: [136.175.111.3] DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=freakingpenguin.com; s=x; h=Content-Type:MIME-Version:Message-ID:Date: Subject:To:From:Sender:Reply-To:Cc:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=g6i3w5s3u3W0ueOiRNMHy+COccpbCJbS7Ml+/H8cJ+E=; b=DiTIVLchGX1nyqkZAgyaRjUNrA nfxSdZUJeEnW0pgyEJsoZi2DSqfjXYbMo6qWC6TbdF2+Stcv8m02yTvEwPs9Dh6AqMKR4IaqklgeG 2xnJSR0G9FDYkb7nZcNFcGo4d6GM6nATFsH8cBXLZEwOCtCu+y/r0Jm8g+vRH5UeWfkX6FX69oahL gfHbrCYGCdvHpznqai3a0EnZS3ViZ0seBqAsVcSu5GsL/YgOUJHAi8IgJCXmSyHqmszBBsRhEokUd 5Rnf0gKm+vPrxROI0121NOXU39ojjnxAbRqI2RD/AFIK8iSYN8hJInsmHjoxDSa2jQt3+E7mPdH+M AdzTOpAg==; From: Richard Sent Date: Mon, 27 May 2024 02:54:03 -0400 Message-ID: <87plt7kano.fsf@freakingpenguin.com> MIME-Version: 1.0 Content-Type: text/plain X-Authenticated-Id: richard@freakingpenguin.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-guix@gnu.org List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+larch=yhetil.org@gnu.org Sender: bug-guix-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Spam-Score: -6.34 X-Spam-Score: -6.34 X-Migadu-Queue-Id: 36DB112381 X-Migadu-Scanner: mx13.migadu.com X-TUID: /RtKR7GyebaL Hi Guix! Once again I sunk more time into this issue when I should have been sleeping. Here's what I found: Building a grafted stumpwm directly creates one stumpwm:lib output. Building it /indirectly/ as a dependency of, say, sbcl-stumpwm-cpu, creates another, distinct stumpwm:lib output. This difference in stumpwm:lib outputs is reflected in 50-stumpwm.conf being incoherent. Packages that depend on say, A:lib graft their own copies of A:lib that is distinct from grafting A:out and A:lib together. This behavior confuses asdf-build-system and leads to breakage. Here's a link to an issue discussing excess library grafts: https://issues.guix.gnu.org/47115#23 The simplest way to resolve this I feel is to either: 1. Remove stumpwm:lib entirely and just have stumpwm:out 1. Realistically is anyone out there using stumpwm:lib but NOT stumpwm:out? What would the point of that be? 2. Add stumpwm as an input to to any package that just uses stumpwm:lib. Between the two, I strongly prefer 1. Below is a bunch of debug output to show how I reached the conclusion that I did. --8<---------------cut here---------------start------------->8--- richard@gibraltar ~/code/cloned/guix [env]$ ./pre-inst-env guix build stumpwm --check The following graft will be made: /gnu/store/bsxspzrhfwsl4qp0n01mgcaqcp1934dj-stumpwm-22.11.drv applying 9 grafts for stumpwm-22.11 ... grafting '/gnu/store/j73w1n1sf3gqgx8qx3cx9csbrndddq0b-stumpwm-22.11-lib' -> '/gnu/store/r4sc5ylh2g30zgr10q35phd80cb3llqy-stumpwm-22.11-lib'... grafting '/gnu/store/2rd3r0m8q11icwhhbwfl20ali3w5mwf4-stumpwm-22.11' -> '/gnu/store/azj1nchh8b9h9bssyzs15qbpd9p1zf7h-stumpwm-22.11'... successfully built /gnu/store/bsxspzrhfwsl4qp0n01mgcaqcp1934dj-stumpwm-22.11.drv successfully built /gnu/store/bsxspzrhfwsl4qp0n01mgcaqcp1934dj-stumpwm-22.11.drv successfully built /gnu/store/bsxspzrhfwsl4qp0n01mgcaqcp1934dj-stumpwm-22.11.drv /gnu/store/r4sc5ylh2g30zgr10q35phd80cb3llqy-stumpwm-22.11-lib /gnu/store/azj1nchh8b9h9bssyzs15qbpd9p1zf7h-stumpwm-22.11 # ^ here 50-stumpwm.conf refers to r4sc5ylh..., as it should # whereas # below 50-stumpwm.conf refers to y8fd8yirq. Notice how stumpwm is # grafted differently richard@gibraltar ~/code/cloned/guix [env]$ ./pre-inst-env guix build sbcl-stumpwm-cpu The following grafts will be made: /gnu/store/w8fbnjz3a8rzigldazhqn75v1ncrwnmr-sbcl-stumpwm-cpu-0.0.1-5.4613a95.drv /gnu/store/w5027r2xlf88pfafw9dsx38cya01la83-stumpwm-22.11.drv applying 5 grafts for stumpwm-22.11 ... grafting '/gnu/store/j73w1n1sf3gqgx8qx3cx9csbrndddq0b-stumpwm-22.11-lib' -> '/gnu/store/y8fd8yirq8n87sl7pv2wliwihrrbv820-stumpwm-22.11-lib'... successfully built /gnu/store/w5027r2xlf88pfafw9dsx38cya01la83-stumpwm-22.11.drv applying 2 grafts for sbcl-stumpwm-cpu-0.0.1-5.4613a95 ... grafting '/gnu/store/r3l0dxxlcdh73092q9fmjj629klayxhq-sbcl-stumpwm-cpu-0.0.1-5.4613a95' -> '/gnu/store/nvp9y9qgpv4w22dqbjmdyc0l41gymims-sbcl-stumpwm-cpu-0.0.1-5.4613a95'... successfully built /gnu/store/w8fbnjz3a8rzigldazhqn75v1ncrwnmr-sbcl-stumpwm-cpu-0.0.1-5.4613a95.drv /gnu/store/nvp9y9qgpv4w22dqbjmdyc0l41gymims-sbcl-stumpwm-cpu-0.0.1-5.4613a95 --8<---------------cut here---------------end--------------->8--- Now that there are two distinct derivations for two distinct stumpwm:lib outputs, we can look at the builders. --8<---------------cut here---------------start------------->8--- ;; guix build stumpwm, stumpwm graft builder (begin (use-modules (guix build graft) (guix build utils) (ice-9 match)) (define %outputs (list (cons "lib" ((@ (guile) getenv) "lib")) (cons "out" ((@ (guile) getenv) "out")))) (begin (setenv "GUIX_LOCPATH" "/gnu/store/visfdda934gvivwihwhlm63fdqhhcc8a-glibc-utf8-locales-2.35/lib/locale") (setlocale LC_ALL "en_US.utf8")) (let* ((old-outputs (quote (("lib" . "/gnu/store/j73w1n1sf3gqgx8qx3cx9csbrndddq0b-stumpwm-22.11-lib") ("out" . "/gnu/store/2rd3r0m8q11icwhhbwfl20ali3w5mwf4-stumpwm-22.11")))) (mapping (append (quote (("/gnu/store/hqxzgbbbnxl8l9q8bcsvzvmyw1mjws4r-zstd-1.5.2-lib" . "/gnu/store/x35wy730jwwmwwypvzy2nmqvcb3hc3ba-zstd-1.5.2-lib") ("/gnu/store/930nwsiysdvy2x5zv1sf6v7ym75z8ayk-gcc-11.3.0-lib" . "/gnu/store/6ncav55lbk5kqvwwflrzcr41hp5jbq0c-gcc-11.3.0-lib") ("/gnu/store/gsjczqir1wbz8p770zndrpw4rnppmxi3-glibc-2.35" . "/gnu/store/ln6hxqjvz6m9gdd9s97pivlqck7hzs99-glibc-2.35") ("/gnu/store/hbzlh3zjss4w80jscwfkivpyqc2sqbm3-sbcl-alexandria-1.4-0.009b7e5" . "/gnu/store/p8iagp15zzj5ivh3j8443jjpq6wmmzpw-sbcl-alexandria-1.4-0.009b7e5") ("/gnu/store/jd34ay8cyyl2dag62n94m15gg1b4s1sw-sbcl-2.4.0" . "/gnu/store/vj5jdgz6dajq25f6arjw976h6awwblgh-sbcl-2.4.0") ("/gnu/store/rib9g2ig1xf3kclyl076w28parmncg4k-bash-minimal-5.1.16" . "/gnu/store/v9p25q9l5nnaixkhpap5rnymmwbhf9rp-bash-minimal-5.1.16") ("/gnu/store/kf04j56xzh2pglwz3d8ybiz7wxwrs4df-sbcl-clx-0.7.5-1.3840045" . "/gnu/store/3sbrd8gj3ddq3cya2fygj0q788wp0kbr-sbcl-clx-0.7.5-1.3840045") ("/gnu/store/1xpjw51n2alaszrvwwm2f78k3nnnlrk1-sbcl-fiasco-0.0.1-2.bb47d2f" . "/gnu/store/z4l73b6b1a6ijfd5chpijjbi37mbq5wl-sbcl-fiasco-0.0.1-2.bb47d2f") ("/gnu/store/7xiwhrv7x4isj2860par69xas9lrk4av-sbcl-cl-ppcre-2.1.1" . "/gnu/store/h7r9c6wxm7d3yk803jyw86c0pr86rxcj-sbcl-cl-ppcre-2.1.1"))) (map (match-lambda ((name . file) (cons (assoc-ref old-outputs name) file))) %outputs)))) (graft old-outputs %outputs mapping))) ;; guix build sbcl-stumpwm-cpu, stumpwm-graft builder (begin (use-modules (guix build graft) (guix build utils) (ice-9 match)) (define %outputs (list (cons "lib" ((@ (guile) getenv) "lib")))) (begin (setenv "GUIX_LOCPATH" "/gnu/store/visfdda934gvivwihwhlm63fdqhhcc8a-glibc-utf8-locales-2.35/lib/locale") (setlocale LC_ALL "en_US.utf8")) (let* ((old-outputs (quote (("lib" . "/gnu/store/j73w1n1sf3gqgx8qx3cx9csbrndddq0b-stumpwm-22.11-lib")))) (mapping (append (quote (("/gnu/store/kf04j56xzh2pglwz3d8ybiz7wxwrs4df-sbcl-clx-0.7.5-1.3840045" . "/gnu/store/3sbrd8gj3ddq3cya2fygj0q788wp0kbr-sbcl-clx-0.7.5-1.3840045") ("/gnu/store/rib9g2ig1xf3kclyl076w28parmncg4k-bash-minimal-5.1.16" . "/gnu/store/v9p25q9l5nnaixkhpap5rnymmwbhf9rp-bash-minimal-5.1.16") ("/gnu/store/1xpjw51n2alaszrvwwm2f78k3nnnlrk1-sbcl-fiasco-0.0.1-2.bb47d2f" . "/gnu/store/z4l73b6b1a6ijfd5chpijjbi37mbq5wl-sbcl-fiasco-0.0.1-2.bb47d2f") ("/gnu/store/jd34ay8cyyl2dag62n94m15gg1b4s1sw-sbcl-2.4.0" . "/gnu/store/vj5jdgz6dajq25f6arjw976h6awwblgh-sbcl-2.4.0") ("/gnu/store/7xiwhrv7x4isj2860par69xas9lrk4av-sbcl-cl-ppcre-2.1.1" . "/gnu/store/h7r9c6wxm7d3yk803jyw86c0pr86rxcj-sbcl-cl-ppcre-2.1.1"))) (map (match-lambda ((name . file) (cons (assoc-ref old-outputs name) file))) %outputs)))) (graft old-outputs %outputs mapping)))--8<---------------cut here---------------end--------------->8--- Different builders? Different outputs. Different outputs? Different 50-stumpwm.conf files. Different 50-stumpwm.conf files? Sadness. -- Take it easy, Richard Sent Making my computer weirder one commit at a time.