Something in gnu/ci.scm is embedding the build path when compiled into gnu/ci.go, as can be seen: https://tests.reproducible-builds.org/debian/rb-pkg/experimental/amd64/diffoscope-results/guix.html ./usr/lib/x86_64-linux-gnu/guile/3.0/site-ccache/gnu/ci.go strings --all --bytes=8 {} Offset 85, 15 lines modified Offset 85, 15 lines modified ... 92 /build/1st/guix-1.2.0~rc2/gnu/ci.scm 92 /build/2/guix-1.2.0~rc2/2nd/gnu/ci.scm While guix builds of guix are typically built with a consistent build path, it would be nice to fix this issue for other environments where the build path may vary between builds. My *wild* guess is it maybe has something to do with the use of canonicalize-path: (define (find-current-checkout arguments) "Find the first checkout of ARGUMENTS that provided the current file. Return #f if no such checkout is found." (let ((current-root (canonicalize-path (string-append (dirname (current-filename)) "/..")))) (find (lambda (argument) (and=> (assq-ref argument 'file-name) (lambda (name) (string=? name current-root)))) arguments))) Either directly or indirectly... does canonicalize-path resolve at build time? run time? somewhere in-between? Or is this a red herring, and something else entirely is responsible? I'll let a competent schemer ponder this! :) Thanks for all your help! live well, vagrant