I started with a guix checkout at commit d519305d83d08058e4def2c4d72fe62102d9599d. Everything was compiled, according to "make". Then I switched to current master: b21d05d232ec0aba5abec20e83cc52c1d5163cc3. Now I get the following error: > In language/tree-il/peval.scm: >     799:6 19 (loop _ # #f effect) >   1661:48 18 (loop _ _ _ effect) > In srfi/srfi-1.scm: >    586:17 17 (map1 (# # (const documentation)> # clojure-build-system.")>)) > In language/tree-il/peval.scm: >    853:11 16 (loop _ _ #f value) >    346:22 15 (visit-operand #< var: #< name: install > gensym: #{ g377}# refcount: 2 set?: #f> sym: #{install 412}# visit: > # counter ctx)> source: # java-utils) install-jars) (const "./")))> visit-count: 1 use-count: 0 > copyable?: #t residual-value: #f constant-value: #f alias: #f> _ value > _ _) >   1286:21 14 (loop _ # #< effort: > # size: # 0> continuation: # recursive?: #t data: > #< var: #< name: install gensym: #{ g377}# refcount: 2 > set?: #f> sym: #{install 412}# visit: # language/tree-il/peval.scm:977:40 (exp counter ctx)> source: # (primcall values (call (@ (guix build java-utils) install-…> …) > In srfi/srfi-1.scm: >    586:17 13 (map1 (# install-jars) (const "./"))>)) > In language/tree-il/peval.scm: >   1625:20 12 (loop _ # #< effort: > # size: # 0> continuation: # recursive?: #t data: > #< var: #< name: install gensym: #{ g377}# refcount: 2 > set?: #f> sym: #{install 412}# visit: # language/tree-il/peval.scm:977:40 (exp counter ctx)> source: # (primcall values (call (@ (guix build java-utils) install-…> …) >    981:20 11 (loop _ # #< effort: > # size: # value: 20> continuation: # recursive?: #f data: > # (((jar-directory) #f #f #f () (t413)) (lambda () (lambda-case ((() #f > #f (#t (#:outputs outputs #f)) ((const #f)) (t414)) (let (share) > (t415) ((call (@ (guile) string-append) (call (@ (guile) assoc-ref) > (lex…> …) >     799:6 10 (loop # (#:outputs outputs #f)) ((const #f)) (t414)) (let (share) (t415) > ((call (@ (guile) string-append) (call (@ (guile) assoc-ref) (lexical > outputs t414) (const "out")) (const "/share/java"))) (seq (call (@ > (guile) for-each) (lambda () (lambda-case (((f) #f #f #f () (t416)) > (call (@ (guix build utils) install-file) (lexical f t416) (lexical > share t415))))) (call (@ (guix build utils) find-files) (lex…> …) >   1699:60  9 (loop _ # #< > effort: # size: # 7f81d9876700 value: 20> continuation: # > recursive?: #f data: # (lambda-case (((jar-directory) #f #f #f () (t413)) (lambda () > (lambda-case ((() #f #f (#t (#:outputs outputs #f)) ((const #f)) > (t414)) (let (share) (t415) ((call (@ (guile) string-append) (call (@ > (guile) assoc-ref) (le…> …) > In srfi/srfi-1.scm: >    586:17  8 (map1 (#f)) > In language/tree-il/peval.scm: >   1691:38  7 (new-sym _) > In ice-9/boot-9.scm: >   1685:16  6 (raise-exception _ #:continuable? _) >   1685:16  5 (raise-exception _ #:continuable? _) >   1780:13  4 (_ #<&compound-exception components: > (#<&assertion-failure> #<&origin origin: "cdr"> #<&message message: > "Wrong type argument in position 1 (expecting pair): ~S"> #<&irritants > irritants: (#f)> #<&exception-with-kind-and-args kind: wrong-type-arg > args: ("cdr" "Wrong type argument in position 1 (expecting pair): ~S" > (#f) (#f))>)>) > In guix/build/compile.scm: >     191:6  3 (_ _ . _) > In ice-9/boot-9.scm: >   1747:15  2 (with-exception-handler # ice-9/boot-9.scm:1831:7 (exn)> _ #:unwind? _ #:unwind-for-type _) > In guix/build/compile.scm: >    194:22  1 (_) > In unknown file: >            0 (make-stack #t) Looking at language/tree-il/peval.scm 1691:38, it appears that somehow the 'old' symbol does not appear in the environment. For a minimal test case, remove everything but the 'define-module' and the '(define-with-docs install [...])'. Looks like something is going wrong with 'define-with-docs' (without -with-docs and without the docstring, it compiles fine). Greetings, Maxime.