[armedbear-devel] strange interaction between ql:quickload and ABCL

Mark Evenson evenson at panix.com
Thu Feb 28 10:45:29 UTC 2013


On 2/28/13 0344 , Anton Vodonosov wrote:
> 27.02.2013, 13:31, "Mark Evenson" <evenson at 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\" :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.




-- 
"A screaming comes across the sky.  It has happened before, but there
is nothing to compare to it now."




More information about the armedbear-devel mailing list