$ guile --version
guile (GNU Guile) 2.0.11
$ config.guess
x86_64-unknown-linux-gnu
$ rpm -qa | grep guile
compat-guile18-1.8.8-7.fc20.x86_64
guile-debuginfo-2.0.11-1.fc20.x86_64
guile-2.0.11-1.fc20.x86_64
guile-devel-2.0.11-1.fc20.x86_64
These steps illustrate the issue:
1. Download the attached file and save it as $HOME/guile/test.scm
Note: this is just an example file printing one line to indicate is has
successfully been called. Any other scm file will do to illustrate this bug.
2. Run these commands:
$ mkdir -p $HOME/guile/ccache
$ cd $HOME/guile/ccache
$ guild compile -o test.go ../test.scm
$ guild compile -o test.scm.go ../test.scm
This will generate two compiled versions of the test file, each with a different extension.
Now run these commands and observe what happens:
$ cd $HOME/guile
$ GUILE_LOAD_PATH=$HOME/guile \
GUILE_LOAD_COMPILED_PATH=$HOME/guile/ccache \
guile -c '(load-from-path "test")'
=> This command will use the file $HOME/guile/ccache/test.go. That is, no auto-compilation is triggered.
$ GUILE_LOAD_PATH=$HOME/guile \
GUILE_LOAD_COMPILED_PATH=$HOME/guile/ccache \
guile -c '(load-from-path "test.scm")'
=> This command will *not* use either of $HOME/guile/ccache/test.go or $HOME/guile/ccache/test.scm.go. Instead it will autocompile test.scm into <default-cache-dir>/test.scm.go and use that one.
So there is no way to have the second command use your self-compiled files.
From Andy Wingo's comments on irc, it is expected that the second case would have used the self-compiled $HOME/guile/ccache/test.scm.go. I'm fine with that although using $HOME/guile/ccache/test.go would have made more sense from an outsider's point of view. At least it should be possible to make load-from-path use a self-compiled .go file regardless of whether the argument ends in .scm or not.
If more information is needed, feel free to ask.
Regards,
Geert