GNU bug report logs -
#21613
Include messes up when compiling file in load path
Previous Next
Full log
View this message in rfc822 format
When a file to be compiled, A.scm, contains (include "B.scm"), the
compiler fails to find B.scm if the directory containing A and B are in
Guile's load path.
Here's a shell transcript showcasing the bug:
--- snip ---
$ mkdir test
$ echo '(include "test2.scm")' > test/test1.scm
$ echo '(display "foo\n")' > test/test2.scm
$ pwd
/home/taylan
$ export GUILE_LOAD_PATH=/home/taylan/test
$ unset GUILE_LOAD_COMPILED_PATH
$ guile -q
GNU Guile 2.0.11
Copyright (C) 1995-2014 Free Software Foundation, Inc.
Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.
Enter `,help' for help.
scheme@(guile-user)> (compile-file "/home/taylan/test/test1.scm")
ice-9/boot-9.scm:106:20: In procedure #<procedure 248a580 at ice-9/boot-9.scm:97:6 (thrown-k . args)>:
ice-9/boot-9.scm:106:20: In procedure open-file: No such file or directory: "./test2.scm"
Entering a new prompt. Type `,bt' for a backtrace or `,q' to continue.
scheme@(#{ g269}#) [1]>
--- snip ---
This seems to be related to 'compile-file' setting
'%file-port-name-canonicalization' to 'relative', but I don't know what
the correct fix is.
Taylan
This bug report was last modified 172 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.