I am compiling a file which references some modules declared in source files present in the %load-path. However I get a "no code for (xxx yyy)" error when I attempt to compile with guild compile.
Guile version 2.0.3 Ubuntu 11.10 I am running the compilation from a shell command procedure as follows (the PWD is /home/ian/src/lilypond): declare -x GUILE_LOAD_COMPILED_PATH='/home/ian/src/lilypond/scm/out' declare -x GUILE_AUTO_COMPILE=0 guild compile scm/lily-guile2.scm \ --load-path=/home/ian/src/lilypond/scm/ \ --warn=unbound-variable \ --output=scm/out/lily-guile2.go lily-guile2.scm starts as follows: (eval-when (compile load eval) (display "%load-path: ") (display %load-path) (newline) (display (%search-load-path "clip-region")) (newline) (display (%search-load-path "memory-trace")) (newline) (display (%search-load-path "coverage")) (newline) (display (%search-load-path "safe-utility-defs")) (newline)) (use-modules (scm clip-region) (scm memory-trace) (scm coverage) (scm safe-utility-defs)) I've attached the trace-back below. It looks like the use-modules code isn't doing the right thing in translating the module name list into a file system path and file-name (as in 6.19.1 General Information about Modules, pages 385-386). Cheers, Ian Hulin =================================================================================================== ian@ian-laptop ~/src/lilypond (T1686)$ sh compile-lily.sh compile-lily.sh: 1: declare: not found compile-lily.sh: 2: declare: not found %load-path: (/home/ian/src/lilypond/scm/ /usr/local/share/guile/2.0 /usr/local/share/guile/site/2.0 /usr/local/share/guile/site /usr/local/share/guile) /home/ian/src/lilypond/scm/clip-region.scm /home/ian/src/lilypond/scm/memory-trace.scm /home/ian/src/lilypond/scm/coverage.scm /home/ian/src/lilypond/scm/safe-utility-defs.scm Backtrace: In scripts/compile.scm: 174: 19 [#<procedure 97d98a0 at scripts/compile.scm:171:14 (file)> "scm/lily-guile2.scm"] In system/base/compile.scm: 148: 18 [compile-file "scm/lily-guile2.scm" #:output-file ...] 43: 17 [call-once #<procedure 97d9720 at system/base/compile.scm:56:5 ()>] In ice-9/boot-9.scm: 184: 16 [with-throw-handler #t ...] In system/base/compile.scm: 59: 15 [#<procedure 97d9700 at system/base/compile.scm:58:9 ()>] 151: 14 [#<procedure 97d9740 at system/base/compile.scm:149:8 (port)> #<input-output: scm/out/lily-guile2.go.SmCR1v 41>] 200: 13 [read-and-compile #<input: lily-guile2.scm 40> #:from ...] 212: 12 [lp (# #) #<directory # 994fd38> #<directory # 994fd38>] 178: 11 [lp (#<procedure compile-tree-il (x e opts)>) (use-modules # # ...) ...] In ice-9/boot-9.scm: 2095: 10 [save-module-excursion #<procedure 996bc78 at language/scheme/compile-tree-il.scm:29:3 ()>] In language/scheme/compile-tree-il.scm: 31: 9 [#<procedure 996bc78 at language/scheme/compile-tree-il.scm:29:3 ()>] In ice-9/psyntax.scm: 1011: 8 [chi-top-sequence ((use-modules # # # ...)) () ((top)) ...] 898: 7 [scan ((use-modules (scm clip-region) (scm memory-trace) ...)) () ...] 269: 6 [scan ((# #) #(syntax-object *unspecified* # #)) () (()) ...] In ice-9/boot-9.scm: 3117: 5 [process-use-modules ((#) (#) (#) (#))] 538: 4 [map #<procedure 97227f0 at ice-9/boot-9.scm:3117:25 (mif-args)> (# # # #)] 3118: 3 [#<procedure 97227f0 at ice-9/boot-9.scm:3117:25 (mif-args)> (#)] 2567: 2 [resolve-interface (scm clip-region) #:select ...] In unknown file: ?: 1 [scm-error misc-error #f ...] In ice-9/boot-9.scm: 119: 0 [#<procedure 97d96e0 at ice-9/boot-9.scm:110:6 (thrown-k . args)> misc-error ...] ice-9/boot-9.scm:119:20: In procedure #<procedure 97d96e0 at ice-9/boot-9.scm:110:6 (thrown-k . args)>: ice-9/boot-9.scm:119:20: no code for module (scm clip-region) ian@ian-laptop ~/src/lilypond (T1686)$