On 2/28/13 0344 , Anton Vodonosov wrote:
27.02.2013, 13:31, "Mark Evenson" evenson@panix.com:
Unfortunately, I cannot reproduce this error either with abcl-1.1.0 or abcl-1.2.0-dev using quicklisp 2013-02-17 running on UNIX (oi-151a7).
Well, I wasn't clear about preconditions. It reproduces on quicklisp 2013-01-28 when :closer-mop is already installed into quicklisp but :modf is not yet.
Here are complete steps to reproduces (tested with abcl-1.1.0):
# install quicklisp wget http://beta.quicklisp.org/quicklisp.lisp (ql-dist:install-dist "http://beta.quicklisp.org/dist/quicklisp/2013-01-28/distinfo.txt" :replace t :prompt nil) java -jar abcl.jar --noinit --nosystem --batch --load quicklisp.lisp --eval "(quicklisp-quickstart:install :path "quicklisp2/")" --eval "(ql-dist:install-dist "http://beta.quicklisp.org/dist/quicklisp/2013-01-28/distinfo.txt%5C" :replace t :prompt nil)"
# fetch closer-mop (doesn't matter that this closer-mop doesn't work on ABCL, we only want to install it) # works the same if closer-mop is installed with another lisp: java -jar abcl.jar --noinit --nosystem --batch --load quicklisp2/setup.lisp --eval "(ql:quickload :closer-mop)"
# finally, reproduce the problem java -jar abcl.jar --noinit --nosystem --noinform --load quicklisp2/setup.lisp CL-USER(1): (ql:quickload :modf)
Error loading C:/Users/anton/unpacked/abcl/abcl-bin-1.1.0/quicklisp2/dists/quicklisp/software/closer-mop-20130128-darcs/closer-mop.asd at line 43 ....
With the information that we're trying this against the "historical" 2013-01-28 Quicklisp, I was able to reproduce your error for abcl-1.1.0 and abcl-1.1.1, while abcl-1.2.0-dev doesn't give this error.
So, for some reason, the version of ASDF shipped with abcl-1.1.x (asdf-2.26.6) has a incorrect interaction with the Quicklisp 2013-01-28 dist information whereas abcl-1.2.x (currently asdf-2.30) does not. The abcl-1.1.x version is attempting to load the CLOSER-MOP dependency for MODF in spite of the #-abcl conditional in modf.asd, seems to indicate that Quicklisp is somehow not actually loading the form.
Looking at quicklisp/dists/quicklisp/systems.txt which I take to be the dependency graph, I notice that both Quicklisp 2013-02-17 and 2013-01-28 list CLOSER-MOP as a dependency of MODF, which is reasonable as this list is presumably prepared with SBCL which would ignore the #-abcl conditional in modf.asd. Therefore, I speculate that Quicklisp with ASDF-2.30 somehow actually evals the form in modf.asd whereas Quicklisp with ASDF-2.26.6 uses the information parsed from the Quicklisp 2013-01-28 dist information. Why this bad interaction doesn't happen with asdf-2.26.6 on the Quicklisp 2013-02-17 information remains mysterious.