我想使用 buildapp 来制作 curl-lisp 可执行文件,例如:
buildapp --output lisp-curl --asdf-path ~/src/clbuild/systems/ \
--load-system drakma \
--eval '(defun main (args) (write-string (drakma:http-request (second args))))' \
--entry main
这绝对行不通,因为我没有路径“~/src/clbuild/systems/”,因为我使用 quicklisp 我的系统应该在“~/quicklisp/dists/quicklisp/software”,但是当我执行时:
buildapp --output lisp-curl \
--asdf-path ~/quicklisp/dists/quicklisp/software \
--load-system drakma \
--eval '(defun main (args) (write-string (drakma:http-request (second args))))' \
--entry main
; file: /home/simkoc/dumper-YKYna1b3.lisp
; in: DEFUN DUMP-FILE-DEBUGGER
; (QUIT :UNIX-STATUS 111)
;
; caught STYLE-WARNING:
; SB-EXT:QUIT has been deprecated as of SBCL 1.0.56.55. Use SB-EXT:EXIT or
; SB-THREAD:ABORT-THREAD instead.
;
; In future SBCL versions SB-EXT:QUIT will signal a full warning at compile-time.
;
; compilation unit finished
; caught 1 STYLE-WARNING condition
Fatal MISSING-COMPONENT:
Component "drakma" not found
这个问题的答案已经暗示 quicklisp 能够以 buildapp 能够检索它的方式导出其系统,但遗憾的是没有详细说明。
我还尝试不使用--asdf-path
,因为 SBCL(启动时)已经能够使用(require 'drakma)
or加载 Drakma (asdf:load-system "drakma")
。也使用--require
而不是--load-system
不会做交易。
因此:我如何将 buildapp 与 quicklisp 结合使用来制作具有所需系统的可执行文件(我只是关心 MISSING-COMPONENT PART)