Hi, I'm trying to call my own guile script from a guix shell, and I'm getting error about `spawn' not being bound. I simplified the reproduction to a simple example: /tmp/x $ guix shell --container -m manifest.scm -- guile -c spawn Backtrace: In ice-9/boot-9.scm: 1752:10 7 (with-exception-handler _ _ #:unwind? _ # _) In unknown file: 6 (apply-smob/0 #) In ice-9/boot-9.scm: 724:2 5 (call-with-prompt ("prompt") # ?) In ice-9/eval.scm: 619:8 4 (_ #(#(#))) In ice-9/command-line.scm: 185:18 3 (_ #) In unknown file: 2 (eval spawn #) In ice-9/eval.scm: 223:20 1 (proc #) In unknown file: 0 (%resolve-variable (7 . spawn) #) ERROR: In procedure %resolve-variable: Unbound variable: spawn The manifest.scm is: (use-modules (gnu packages guile) (guix packages)) (packages->manifest (list guile-3.0)) Now, when I use guile-3.0-latest it *does* work. So, here comes couple of questions: 1. Why does not it work with guile-3.0 package? 2. Why is there both guile-3.0 (3.0.7) and guile-3.0-latest (3.0.9)? The comment in the source code suggests that 3.0.7 (guile-3.0) is "latest Guile stable version", but on https://www.gnu.org/software/guile/ I see nothing to indicate that 3.0.8 and 3.0.9 should be considered unstable or experimental releases. So I'm bit confused here. 3. How can I make it work with 3.0.7? (Pure curiosity, 3.0.9 works fine for me.) Thanks :) W. -- There are only two hard things in Computer Science: cache invalidation, naming things and off-by-one errors.