[asdf-devel] strange interaction between ql:quickload and ASDF
Anton Vodonosov
avodonosov at yandex.ru
Wed Feb 27 02:50:31 UTC 2013
Hello.
I have very strange behaviour of ql:quickload that I observer only on ABCL.
It happens when I run (ql:quickload :modf).
Precondition: the system :modf is NOT installed into quicklisp.
> java -jar abcl.jar --noinit --nosystem
Armed Bear Common Lisp 1.1.0
Java 1.6.0_26 Sun Microsystems Inc.
Java HotSpot(TM) 64-Bit Server VM
Low-level initialization completed in 0.945 seconds.
Startup completed in 4.8 seconds.
Type ":help" for a list of available commands.
CL-USER(1): (load "C:\\Users\\anton\\quicklisp\\setup.lisp")
T
CL-USER(2): (ql:quickload :modf)
Error loading C:/Users/anton/quicklisp/dists/quicklisp/software/closer-mop-20130128-darcs/closer-mop.asd at line 43 (offset 1649)
#<THREAD "interpreter" {40773F4B}>: Debugger invoked on condition of type LOAD-SYSTEM-DEFINITION-ERROR
Error while trying to load definition for system closer-mop from pathname C:/Users/anton/quicklisp/dists/quicklisp/software/closer-mop-20130128
-darcs/closer-mop.asd: Unrecognized keyword argument ("closer-mop-packages" "closer-mop-shared")
Restarts:
0: REINITIALIZE-SOURCE-REGISTRY-AND-RETRY Retry finding system closer-mop after reinitializing the source-registry.
1: ABORT Give up on "modf"
2: TOP-LEVEL Return to top level.
[1] ASDF0(3):
As you see it is trying to load closer-mop. Why? If :modf ASDF is not available, quicklisp should not
load anything other systems yet. Moreover, modf.asd has
:depends-on (:alexandria
#-abcl :closer-mop
:iterate)
So on ABCL it does not depend on closer-mop.
I got backtrace using this command:
[1] ASDF0(3): (with-open-file (stream "C:\\Users\\anton\\unpacked\\abcl\\abcl-bin-1.1.0\\backtrace.txt"
:direction :output
:if-exists :supersede
:if-does-not-exist :create)
(let ((*debug-io* stream)) (top-level::backtrace-command "10000")))
The resulting file is here: https://dl.dropbox.com/u/5708042/backtrace.txt.
@abcl dvelopers: this backtrace seem to contain not only the current invocation stack,
but also previous calls, already finished. For example the
(LOAD "C:\\Users\\anton\\quicklisp\\setup.lisp") at the very bottom of the file.
Do I retrieve backtrace incorrectly?
Back to the ql:quickload problem. I know that if I install :modf with CCL,
this problem doesn't happen anymore, and ABCL can load it.
Zach, how it works?
Best regards,
- Anton
More information about the asdf-devel
mailing list