From unknown Thu Sep 11 06:20:53 2025 X-Loop: help-debbugs@gnu.org Subject: bug#19630: error message when referencing non-existing output not helpful Resent-From: Ricardo Wurmus Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Mon, 19 Jan 2015 17:07:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 19630 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 19630@debbugs.gnu.org X-Debbugs-Original-To: Received: via spool by submit@debbugs.gnu.org id=B.142168721014825 (code B ref -1); Mon, 19 Jan 2015 17:07:02 +0000 Received: (at submit) by debbugs.gnu.org; 19 Jan 2015 17:06:50 +0000 Received: from localhost ([127.0.0.1]:33400 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YDFmr-0003r2-AJ for submit@debbugs.gnu.org; Mon, 19 Jan 2015 12:06:50 -0500 Received: from eggs.gnu.org ([208.118.235.92]:55112) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YDArw-0000y6-Lm for submit@debbugs.gnu.org; Mon, 19 Jan 2015 06:51:45 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YDArq-0005yK-Cs for submit@debbugs.gnu.org; Mon, 19 Jan 2015 06:51:39 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:57949) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YDArq-0005y6-4u for submit@debbugs.gnu.org; Mon, 19 Jan 2015 06:51:38 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:56815) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YDAro-0006oF-Rn for bug-guix@gnu.org; Mon, 19 Jan 2015 06:51:37 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YDAri-0005vQ-Bm for bug-guix@gnu.org; Mon, 19 Jan 2015 06:51:36 -0500 Received: from venus.bbbm.mdc-berlin.de ([141.80.25.30]:48749) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YDAri-0005v4-2G for bug-guix@gnu.org; Mon, 19 Jan 2015 06:51:30 -0500 Received: from localhost (localhost [127.0.0.1]) by venus.bbbm.mdc-berlin.de (Postfix) with ESMTP id A8DD6380524 for ; Mon, 19 Jan 2015 12:51:27 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=mdc-berlin.de; h= content-type:content-type:mime-version:message-id:date:date :subject:subject:from:from:received:received:received; s=mdc; t= 1421668281; x=1423482682; bh=RMi13Sp6hicsTgskq8WQzN6UlVzKM2TfYhG 2TJ74/yw=; b=GXOviD5L7tBki0Ozrqg52C4G5CqnKBg367CK/MyzKFBxvYa+2kG H2ha86O0sxiBdOw9Wcoic8iDhW6Nzw7HS/QbuIynrATMeoKwhfXDh0wWfbHwFK5f J8AxjC5A7UQrfpZtHHrVnYPm6KGhwVUIO5B2aDJfyHE4+pAJ7JenoyBQ= X-Virus-Scanned: amavisd-new at mdc-berlin.de Received: from venus.bbbm.mdc-berlin.de ([127.0.0.1]) by localhost (venus.bbbm.mdc-berlin.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id v-KWl2hjAAr3 for ; Mon, 19 Jan 2015 12:51:21 +0100 (CET) Received: from HTCATWO.mdc-berlin.net (puck.citx.mdc-berlin.de [141.80.36.101]) by venus.bbbm.mdc-berlin.de (Postfix) with ESMTP for ; Mon, 19 Jan 2015 12:51:21 +0100 (CET) Received: from localhost (141.80.180.135) by HTCATWO.mdc-berlin.net (141.80.180.125) with Microsoft SMTP Server (TLS) id 14.3.210.2; Mon, 19 Jan 2015 12:51:21 +0100 From: Ricardo Wurmus Date: Mon, 19 Jan 2015 12:51:20 +0100 Message-ID: MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [141.80.180.135] X-TM-AS-Product-Ver: SMEX-10.0.0.4211-7.500.1017-21262.006 X-TM-AS-Result: No--1.308500-0.000000-31 X-TM-AS-User-Approved-Sender: Yes X-TM-AS-User-Blocked-Sender: No X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -5.0 (-----) X-Mailman-Approved-At: Mon, 19 Jan 2015 12:06:48 -0500 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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 (-----) When a package recipe specifies as input a non-existing output of a package, the build process fails with a rather unhelpful late error message. The following is the output of building a package that depends on the "bin" output of libtool, which has since been removed. ~~~~~ [rwurmus@workstation:~/code/guix] (599) $ ./pre-inst-env guix build ijs Backtrace: In ice-9/boot-9.scm: 157: 18 [catch #t # ...] In unknown file: ?: 17 [apply-smob/1 #] In ice-9/boot-9.scm: 63: 16 [call-with-prompt prompt0 ...] In ice-9/eval.scm: 432: 15 [eval # #] In ice-9/boot-9.scm: 2401: 14 [save-module-excursion #] 4050: 13 [#] 1724: 12 [%start-stack load-stack ...] 1729: 11 [#] In unknown file: ?: 10 [primitive-load "/home/rwurmus/code/guix/scripts/guix"] In guix/ui.scm: 787: 9 [run-guix-command build "ijs"] In ice-9/boot-9.scm: 157: 8 [catch srfi-34 # ...] 157: 7 [catch system-error ...] In guix/scripts/build.scm: 436: 6 [#] In guix/ui.scm: 307: 5 [show-what-to-build # (#) #:dry-run? ...] In guix/derivations.scm: 226: 4 [substitution-oracle # (#)] In guix/store.scm: 705: 3 [substitutable-paths # #] In srfi/srfi-1.scm: 619: 2 [for-each # #] In guix/serialization.scm: 85: 1 [write-string #f #] In unknown file: ?: 0 [string->utf8 #f] ERROR: In procedure string->utf8: ERROR: In procedure string->utf8: Wrong type argument in position 1 (expecting string): #f ~~~~~ The error message is triggered by an unexpected #f in a long list of paths. It would be more helpful if an earlier error was produced that indicates that the cause is a non-existing package output. From unknown Thu Sep 11 06:20:53 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.503 (Entity 5.503) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Ricardo Wurmus Subject: bug#19630: closed (Re: bug#19630: error message when referencing non-existing output not helpful) Message-ID: References: <87mw57hm8s.fsf@gnu.org> X-Gnu-PR-Message: they-closed 19630 X-Gnu-PR-Package: guix Reply-To: 19630@debbugs.gnu.org Date: Sat, 24 Jan 2015 22:02:03 +0000 Content-Type: multipart/mixed; boundary="----------=_1422136923-10611-1" This is a multi-part message in MIME format... ------------=_1422136923-10611-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #19630: error message when referencing non-existing output not helpful which was filed against the guix package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 19630@debbugs.gnu.org. --=20 19630: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D19630 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1422136923-10611-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 19630-done) by debbugs.gnu.org; 24 Jan 2015 22:01:16 +0000 Received: from localhost ([127.0.0.1]:55422 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YF8lY-0002k8-4u for submit@debbugs.gnu.org; Sat, 24 Jan 2015 17:01:16 -0500 Received: from fencepost.gnu.org ([208.118.235.10]:43699 ident=Debian-exim) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YF8lV-0002jz-GA for 19630-done@debbugs.gnu.org; Sat, 24 Jan 2015 17:01:14 -0500 Received: from reverse-83.fdn.fr ([80.67.176.83]:52315 helo=pluto) by fencepost.gnu.org with esmtpsa (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1YF8lS-0003pZ-81; Sat, 24 Jan 2015 17:01:11 -0500 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Ricardo Wurmus Subject: Re: bug#19630: error message when referencing non-existing output not helpful References: Date: Sat, 24 Jan 2015 23:01:07 +0100 In-Reply-To: (Ricardo Wurmus's message of "Mon, 19 Jan 2015 12:51:20 +0100") Message-ID: <87mw57hm8s.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 19630-done Cc: 19630-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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 (-----) Commit f304c9c fixes that. Now the result is something like this: --8<---------------cut here---------------start------------->8--- $ ./pre-inst-env guix build abiword -n guix build: error: reference to invalid output 'binfds' of derivation '/gnu= /store/7lxd5yri8s4vkailk1jg5bxiqrshblj1-glib-2.42.1.drv' --8<---------------cut here---------------end--------------->8--- It doesn=E2=80=99t say the context in which that invalid reference occurred= , but it=E2=80=99s already much better. Note that at the lowest level it=E2=80=99s possible to create a derivation = that refers to a non-existent output of some other derivation. The problem will go unnoticed until the =E2=80=98build-derivations=E2=80=99 RPC is call= ed. Thanks, Ludo=E2=80=99. ------------=_1422136923-10611-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 19 Jan 2015 17:06:50 +0000 Received: from localhost ([127.0.0.1]:33400 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YDFmr-0003r2-AJ for submit@debbugs.gnu.org; Mon, 19 Jan 2015 12:06:50 -0500 Received: from eggs.gnu.org ([208.118.235.92]:55112) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YDArw-0000y6-Lm for submit@debbugs.gnu.org; Mon, 19 Jan 2015 06:51:45 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YDArq-0005yK-Cs for submit@debbugs.gnu.org; Mon, 19 Jan 2015 06:51:39 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:57949) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YDArq-0005y6-4u for submit@debbugs.gnu.org; Mon, 19 Jan 2015 06:51:38 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:56815) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YDAro-0006oF-Rn for bug-guix@gnu.org; Mon, 19 Jan 2015 06:51:37 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YDAri-0005vQ-Bm for bug-guix@gnu.org; Mon, 19 Jan 2015 06:51:36 -0500 Received: from venus.bbbm.mdc-berlin.de ([141.80.25.30]:48749) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YDAri-0005v4-2G for bug-guix@gnu.org; Mon, 19 Jan 2015 06:51:30 -0500 Received: from localhost (localhost [127.0.0.1]) by venus.bbbm.mdc-berlin.de (Postfix) with ESMTP id A8DD6380524 for ; Mon, 19 Jan 2015 12:51:27 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=mdc-berlin.de; h= content-type:content-type:mime-version:message-id:date:date :subject:subject:from:from:received:received:received; s=mdc; t= 1421668281; x=1423482682; bh=RMi13Sp6hicsTgskq8WQzN6UlVzKM2TfYhG 2TJ74/yw=; b=GXOviD5L7tBki0Ozrqg52C4G5CqnKBg367CK/MyzKFBxvYa+2kG H2ha86O0sxiBdOw9Wcoic8iDhW6Nzw7HS/QbuIynrATMeoKwhfXDh0wWfbHwFK5f J8AxjC5A7UQrfpZtHHrVnYPm6KGhwVUIO5B2aDJfyHE4+pAJ7JenoyBQ= X-Virus-Scanned: amavisd-new at mdc-berlin.de Received: from venus.bbbm.mdc-berlin.de ([127.0.0.1]) by localhost (venus.bbbm.mdc-berlin.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id v-KWl2hjAAr3 for ; Mon, 19 Jan 2015 12:51:21 +0100 (CET) Received: from HTCATWO.mdc-berlin.net (puck.citx.mdc-berlin.de [141.80.36.101]) by venus.bbbm.mdc-berlin.de (Postfix) with ESMTP for ; Mon, 19 Jan 2015 12:51:21 +0100 (CET) Received: from localhost (141.80.180.135) by HTCATWO.mdc-berlin.net (141.80.180.125) with Microsoft SMTP Server (TLS) id 14.3.210.2; Mon, 19 Jan 2015 12:51:21 +0100 From: Ricardo Wurmus To: Subject: error message when referencing non-existing output not helpful Date: Mon, 19 Jan 2015 12:51:20 +0100 Message-ID: MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [141.80.180.135] X-TM-AS-Product-Ver: SMEX-10.0.0.4211-7.500.1017-21262.006 X-TM-AS-Result: No--1.308500-0.000000-31 X-TM-AS-User-Approved-Sender: Yes X-TM-AS-User-Blocked-Sender: No X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Mon, 19 Jan 2015 12:06:48 -0500 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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 (-----) When a package recipe specifies as input a non-existing output of a package, the build process fails with a rather unhelpful late error message. The following is the output of building a package that depends on the "bin" output of libtool, which has since been removed. ~~~~~ [rwurmus@workstation:~/code/guix] (599) $ ./pre-inst-env guix build ijs Backtrace: In ice-9/boot-9.scm: 157: 18 [catch #t # ...] In unknown file: ?: 17 [apply-smob/1 #] In ice-9/boot-9.scm: 63: 16 [call-with-prompt prompt0 ...] In ice-9/eval.scm: 432: 15 [eval # #] In ice-9/boot-9.scm: 2401: 14 [save-module-excursion #] 4050: 13 [#] 1724: 12 [%start-stack load-stack ...] 1729: 11 [#] In unknown file: ?: 10 [primitive-load "/home/rwurmus/code/guix/scripts/guix"] In guix/ui.scm: 787: 9 [run-guix-command build "ijs"] In ice-9/boot-9.scm: 157: 8 [catch srfi-34 # ...] 157: 7 [catch system-error ...] In guix/scripts/build.scm: 436: 6 [#] In guix/ui.scm: 307: 5 [show-what-to-build # (#) #:dry-run? ...] In guix/derivations.scm: 226: 4 [substitution-oracle # (#)] In guix/store.scm: 705: 3 [substitutable-paths # #] In srfi/srfi-1.scm: 619: 2 [for-each # #] In guix/serialization.scm: 85: 1 [write-string #f #] In unknown file: ?: 0 [string->utf8 #f] ERROR: In procedure string->utf8: ERROR: In procedure string->utf8: Wrong type argument in position 1 (expecting string): #f ~~~~~ The error message is triggered by an unexpected #f in a long list of paths. It would be more helpful if an earlier error was produced that indicates that the cause is a non-existing package output. ------------=_1422136923-10611-1--