Working on Guix, I encountered the following: Within a guix checkout, I edited gnu/packages/haskell.scm, accidentally making a Haskell comment:
(arguments `(#:tests? #f)) -- sporadic failure: https://github.com/fpco/streaming-commons/issues/49 Then I tried to keep working on my in-development package, and was able to trace the `guix build` error back to the following: $ ./pre-inst-env guild compile ../modules/postgrest.scm ;;; note: source file /home/rob/guix/gnu/packages/haskell.scm ;;; newer than compiled /home/rob/guix/gnu/packages/haskell.go ;;; note: source file /home/rob/guix/gnu/packages/haskell.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/haskell.go ice-9/boot-9.scm:752:25: In procedure dispatch-exception: Syntax error: unknown location: package: invalid field specifier in form —- There are number of ways the error output could be improved. Ideally, I’d like to see the offending line of gnu/packages/haskell.scm pin-pointed, and/or the start of the enclosing package definition. But if that’s maybe difficult due to macro expansion issues, at least knowing which file failed to compile would be great. gnu/packages/haskell.scm does fail to compile by itself: $ guild compile gnu/packages/haskell.scm ice-9/boot-9.scm:752:25: In procedure dispatch-exception: Syntax error: unknown location: package: invalid field specifier in form —- This is on a pretty up to date Guix install. $ guild --version guild (GNU Guile) 2.2.4