quicklisp-client icon indicating copy to clipboard operation
quicklisp-client copied to clipboard

ql:quickload makes (wrong) load decisions about dependency without loading the main ASDF system.

Open avodonosov opened this issue 12 years ago • 0 comments

As discussed on armedbear-devel (http://thread.gmane.org/gmane.lisp.asdf.devel/2916/focus=2780)

When I (ql:quickload :modf) quicklisp loads closer-mop without even downloading modf from internet. This is visible on ABCL, because on ABCL closer-mop is not a dependency for modf and when closer-mop is loaded it fails.

Snippet form modf.asd

 :depends-on (:alexandria
                 #-abcl :closer-mop
                 :iterate)

So, the preconditions: closer-mop installed, modf is not installed, quicklisp 2013-01-28.

Steps to reproduce with ABCL:

# install quicklisp
wget http://beta.quicklisp.org/quicklisp.lisp
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
....

avodonosov avatar Mar 01 '13 13:03 avodonosov