From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Marusich Subject: Fixed output derivation hash mismatch - why? Date: Thu, 12 Apr 2018 00:35:00 -0700 Message-ID: <87tvsgev2z.fsf@gmail.com> Mime-Version: 1.0 Content-Type: multipart/signed; boundary="==-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:46973) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f6WlF-0004sT-8j for guix-devel@gnu.org; Thu, 12 Apr 2018 03:35:14 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1f6WlA-0008SE-Cr for guix-devel@gnu.org; Thu, 12 Apr 2018 03:35:13 -0400 Received: from mail-pl0-x229.google.com ([2607:f8b0:400e:c01::229]:39866) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1f6WlA-0008Rh-3B for guix-devel@gnu.org; Thu, 12 Apr 2018 03:35:08 -0400 Received: by mail-pl0-x229.google.com with SMTP id e7-v6so3301564plt.6 for ; Thu, 12 Apr 2018 00:35:07 -0700 (PDT) Received: from garuda.local (c-24-18-253-84.hsd1.wa.comcast.net. [24.18.253.84]) by smtp.gmail.com with ESMTPSA id v16sm6087918pfl.14.2018.04.12.00.35.04 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 12 Apr 2018 00:35:05 -0700 (PDT) List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: guix-devel@gnu.org --==-=-= Content-Type: multipart/mixed; boundary="=-=-=" --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi Guix, I'm trying to define a fixed output derivation using gexp->derivation, but I'm getting a hash mismatch, and I can't figure out why. I've attached a minimal script that illustrates the problem. When I run it, I see the following output: =2D-8<---------------cut here---------------start------------->8--- $ /tmp/test-fixed-output-derivation.scm=20 ;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=3D0 ;;; or pass the --no-auto-compile argument to disable. ;;; compiling /tmp/test-fixed-output-derivation.scm ;;; compiled /home/marusich/.cache/guile/ccache/2.2-LE-8-3.A/tmp/test-fixed= -output-derivation.scm.go The following derivation will be built: /gnu/store/fiiz8cxz90q7l0c6jfdrpzkanyyvhpv8-test.drv building path(s) `/gnu/store/8s4m28x6qmpkqhqasy59lw3hih548kxv-test' `/gnu/store/kfzwabhn37bg692ayb2czb853drlv2gp-test' -> `/gnu/store/8s4m28x6q= mpkqhqasy59lw3hih548kxv-test' sha256 hash mismatch for output path `/gnu/store/8s4m28x6qmpkqhqasy59lw3hih= 548kxv-test' expected: 0dids4n73p8w77pn9nffs7x0ww1a3f1jbic1p642hwd0jfl3zcg9 actual: 1r3v22qkypccqifzbww5lrn6hf1chi23m6zzkyvb8bvg457nxslq Backtrace: 8 (apply-smob/1 #) In ice-9/boot-9.scm: 705:2 7 (call-with-prompt _ _ #) In ice-9/eval.scm: 619:8 6 (_ #(#(#))) In ice-9/boot-9.scm: 2312:4 5 (save-module-excursion _) 3822:12 4 (_) In /tmp/test-fixed-output-derivation.scm: 30:2 3 (_) In guix/store.scm: 1443:24 2 (run-with-store _ _ #:guile-for-build _ #:system _ # _) 1362:38 1 (_ #) 936:15 0 (_ # _ _) guix/store.scm:936:15: Throw to key `srfi-34' with args `(#)'. =2D-8<---------------cut here---------------end--------------->8--- I don't understand why the Guix daemon thinks that the output (/gnu/store/8s4m28x6qmpkqhqasy59lw3hih548kxv-test) hashes to 0dids4n73p8w77pn9nffs7x0ww1a3f1jbic1p642hwd0jfl3zcg9. That doesn't even match what "guix hash" says: $ guix hash /gnu/store/8s4m28x6qmpkqhqasy59lw3hih548kxv-test 1r3v22qkypccqifzbww5lrn6hf1chi23m6zzkyvb8bvg457nxslq $ guix hash --recursive /gnu/store/8s4m28x6qmpkqhqasy59lw3hih548kxv-test 1xmr8jicvzszfzpz46g37mlpvbzjl2wpwvl2b05psipssyp1sm8h Note that the result of "guix hash" above DOES match the hash value for /tmp/test: $ guix hash /tmp/test 1r3v22qkypccqifzbww5lrn6hf1chi23m6zzkyvb8bvg457nxslq $ guix hash --recursive /tmp/test 1xmr8jicvzszfzpz46g37mlpvbzjl2wpwvl2b05psipssyp1sm8h What's going on here? No matter what I try (e.g., change recursive? to #t), I can't seem to escape this hash mismatch. I think I'm missing something obvious, but I can't see what. I'd really appreciate a second pair of eyes! =2D-=20 Chris --=-=-= Content-Type: application/octet-stream Content-Disposition: attachment; filename=test-fixed-output-derivation.scm Content-Transfer-Encoding: base64 IyEvcnVuL2N1cnJlbnQtc3lzdGVtL3Byb2ZpbGUvYmluL2d1aWxlIC1zCiEjCih1c2UtbW9kdWxl cwogKGd1aXggc3RvcmUpCiAoZ3VpeCBnZXhwKQogKGd1aXggdWkpCiAoaWNlLTkgZm9ybWF0KQog KGd1aXggZGVyaXZhdGlvbnMpCiAoZ3VpeCBoYXNoKQogKGd1aXggcGFja2FnZXMpCiAoZ3VpeCBt b25hZHMpKQoKKGRlZmluZSBmaWxlLXBhdGggIi90bXAvdGVzdCIpCihkZWZpbmUgbmFtZSAidGVz dCIpCihkZWZpbmUgaGFzaCAoc2hhMjU2CiAgICAgICAgICAgICAgKGJhc2UzMgogICAgICAgICAg ICAgICAiMXIzdjIycWt5cGNjcWlmemJ3dzVscm42aGYxY2hpMjNtNnp6a3l2Yjhidmc0NTdueHNs cSIpKSkKKGRlZmluZSByZWN1cnNpdmU/ICNmKQooZGVmaW5lIGFkZC10by1zdG9yZSogKHN0b3Jl LWxpZnQgYWRkLXRvLXN0b3JlKSkKCjs7ICQgZ3VpeCBoYXNoIC90bXAvdGVzdCAKOzsgMXIzdjIy cWt5cGNjcWlmemJ3dzVscm42aGYxY2hpMjNtNnp6a3l2Yjhidmc0NTdueHNscQo7OyAkIGd1aXgg aGFzaCAtLXJlY3Vyc2l2ZSAvdG1wL3Rlc3QgCjs7IDF4bXI4amljdnpzemZ6cHo0NmczN21scHZi empsMndwd3ZsMmIwNXBzaXBzc3lwMXNtOGgKKGNhbGwtd2l0aC1vdXRwdXQtZmlsZSBmaWxlLXBh dGgKICAobGFtYmRhIChwb3J0KQogICAgKGRpc3BsYXkgImhpXG4iIHBvcnQpKSkKCih3aXRoLXN0 b3JlIHN0b3JlCiAgKHJ1bi13aXRoLXN0b3JlIHN0b3JlCiAgICA7OyBBZGQgdGhlIGZpbGUgdG8g dGhlIHN0b3JlLCBhbmQgY3JlYXRlIGEgZml4ZWQtb3V0cHV0IGRlcml2YXRpb24KICAgIDs7IHRo YXQgY29waWVzIHRoZSBmaWxlIChmcm9tIHRoZSBzdG9yZSkgdG8gaXRzIG91dHB1dC4KICAgICht bGV0KiAlc3RvcmUtbW9uYWQKICAgICAgICAoKHN0b3JlLXBhdGggKGFkZC10by1zdG9yZSogbmFt ZSByZWN1cnNpdmU/ICJzaGEyNTYiIGZpbGUtcGF0aCkpCiAgICAgICAgIChidWlsZGVyIC0+ICh3 aXRoLWltcG9ydGVkLW1vZHVsZXMgJygoZ3VpeCBidWlsZCB1dGlscykpCiAgICAgICAgICAgICAg ICAgICAgICAgI34oYmVnaW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgKHVzZS1tb2R1bGVz IChndWl4IGJ1aWxkIHV0aWxzKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvcHktcmVj dXJzaXZlbHkgIyRzdG9yZS1wYXRoICMkb3V0cHV0KSkpKQogICAgICAgICAoZHJ2IChnZXhwLT5k ZXJpdmF0aW9uIG5hbWUgYnVpbGRlcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICM6 aGFzaC1hbGdvICdzaGEyNTYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjOmhhc2gg aGFzaAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICM6cmVjdXJzaXZlPyByZWN1cnNp dmU/KSkKICAgICAgICAgKGRydnMgLT4gKGxpc3QgZHJ2KSkpCiAgICAgIChtYmVnaW4gJXN0b3Jl LW1vbmFkCiAgICAgICAgKHNob3ctd2hhdC10by1idWlsZCogZHJ2cyAjOnVzZS1zdWJzdGl0dXRl cz8gI2YpCiAgICAgICAgKGJ1aWx0LWRlcml2YXRpb25zIGRydnMpKSkpKQo= --=-=-=-- --==-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEy/WXVcvn5+/vGD+x3UCaFdgiRp0FAlrPDCQACgkQ3UCaFdgi Rp0G6BAA0r6keqzj6zZByaoDHBm6p7Rx6TL2Px5y74/jCnu3oXxl0etH6MfkhU/U yp4XbGXn0qs9TCMg+gNnFnWJlwCFXfGzTpd8cX7PE1I6Wq7big1GgpgHFQadB05W oGdX8WlJvHSyHdkeMMP9CWh9x2lo2pactVtwWAI/EYoMI6BySCflbnZ9d/R/V/md s2v4GO8tWrUj7cxw8X5rOSJ9C1z+HMB/5wX3OYdH4wXH19yYcKO2klgleCFis/me M0ZG3sK+B900zh7TjZjR5A3ocMG8py53wtfZrSNmNxge0OSTLGbrRMb4BwOhI38h Ex3rFKSCb5jxujJBL0fMr3vovfMV+Q5hYRPxTSpO5RIpDUb+TEHNVucs85RTkZak AzGpjxekko6RAQ2A+zmGGbnbGae23n3uHD4R9mA2zluScaRz/wGQ8eakIT2aAHb8 Wg/aYxd8/1gvA6qD5eYFm8T0la6PJlQtTXkP9I+7t01fSemayq52paHigwvCnJMV vjJxhxCNgcy2XV6TRGVZQ3a9vVpQEt/KEm8MnSAcz4KXunAi3BAYT7IPCRvD6qs/ aF2iBBACfkKa7JEo3XyMLRoDWGvcTen/wSfumF50/TCqlkIUxkoFOSv0ZhnvJdj5 oIdhI0bIMVcgc/2ijaMlLiP32kNEKgqmZC/buQzzsdza2/F5LwU= =Fyoh -----END PGP SIGNATURE----- --==-=-=--