[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Fixed output derivation hash mismatch - why?
From: |
Chris Marusich |
Subject: |
Fixed output derivation hash mismatch - why? |
Date: |
Thu, 12 Apr 2018 00:35:00 -0700 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) |
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:
--8<---------------cut here---------------start------------->8---
$ /tmp/test-fixed-output-derivation.scm
;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0
;;; 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/8s4m28x6qmpkqhqasy59lw3hih548kxv-test'
sha256 hash mismatch for output path
`/gnu/store/8s4m28x6qmpkqhqasy59lw3hih548kxv-test'
expected: 0dids4n73p8w77pn9nffs7x0ww1a3f1jbic1p642hwd0jfl3zcg9
actual: 1r3v22qkypccqifzbww5lrn6hf1chi23m6zzkyvb8bvg457nxslq
Backtrace:
8 (apply-smob/1 #<catch-closure 2507640>)
In ice-9/boot-9.scm:
705:2 7 (call-with-prompt _ _ #<procedure default-prompt-handle…>)
In ice-9/eval.scm:
619:8 6 (_ #(#(#<directory (guile-user) 25be140>)))
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 (_ #<build-daemon 256.97 2bd1eb0>)
936:15 0 (_ #<build-daemon 256.97 2bd1eb0> _ _)
guix/store.scm:936:15: Throw to key `srfi-34' with args `(#<condition
&nix-protocol-error [message: "build of
`/gnu/store/fiiz8cxz90q7l0c6jfdrpzkanyyvhpv8-test.drv' failed" status: 1]
33c9030>)'.
--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!
--
Chris
test-fixed-output-derivation.scm
Description: Binary data
signature.asc
Description: PGP signature
- Fixed output derivation hash mismatch - why?,
Chris Marusich <=