From debbugs-submit-bounces@debbugs.gnu.org Mon Jan 19 12:06:50 2015 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. From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 24 17:01:16 2015 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. From unknown Thu Sep 11 06:21:00 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sun, 22 Feb 2015 12:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator