Skip to content

quicklisp system (as defined in quicklisp.asd) is incomplete #140

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
dkochmanski opened this issue Feb 4, 2017 · 2 comments
Open

quicklisp system (as defined in quicklisp.asd) is incomplete #140

dkochmanski opened this issue Feb 4, 2017 · 2 comments

Comments

@dkochmanski
Copy link

dkochmanski commented Feb 4, 2017

Code inside the system refers to symbols in toplevel setup.lisp file (ql-setup:qmerge), what may lead to broken builds of standalone executables depending on Quicklisp. I suspect that it also affects systems which doesn't depend on Quicklisp, because ASDF have Quicklisp searcher registered.

Steps to reproduce (on ECL, but I saw this error also when tried to use buildapp with SBCL when building from bundle):

;;; my-system.asd
(in-package #:asdf)

(defsystem #:my-system
  :depends-on (#:asdf #:quicklisp)
  :components ((:file "my-system")))
;;; my-system.lisp
(print 'foo)
% ecl --eval '(asdf:load-asd "my-system.asd")' \
      --eval '(asdf:make-build :my-system :type :program :move-here ".")' \
      --eval '(quit)'
% ./my-system

Condition of type: UNDEFINED-FUNCTION
The function QL-SETUP:QMERGE is undefined.
No restarts available.

Top level in: #<process TOP-LEVEL>.
>
@dkochmanski dkochmanski changed the title quicklisp system (quicklisp/quicklisp/quicklisp.asd) is incomplete quicklisp system (as defined in quicklisp.asd) is incomplete Feb 4, 2017
@quicklisp
Copy link
Owner

That's the current design. It works that way to ensure that Quicklisp is always loaded through setup.lisp, and not directly through ASDF.

I've recently decided to change how this works, so that Quicklisp can be loaded only via ASDF, but it requires some initialization (to set the quicklisp directory) before anything can be loaded. And setup.lisp will automatically do that initialization, but some other process could, too.

I'll remark on this issue when the change happens.

@fosskers
Copy link

Note that this is still an issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants