Search code examples
windowscommon-lispasdfecl

Embeddable Common-Lisp asdf:defsystem returning invalid relative pathname


I'm trying to learn how to use Common-Lisp's asdf, and I have the following code:

(asdf:defsystem example
    :serial t
    :components ((:file "first")
                 (:file "second")))

However, I keep getting the error:

Condition of type: SIMPLE-ERROR
Invalid relative pathname #P"first.lisp" for component ("example" "first")

I'm launching the repl in the same directory as these two Lisp files, but I don't understand why there is an error. What am I missing? I'm using ECL on Windows


Solution

  • ASDF uses *load-pathname* or *load-truename* to resolve the full paths to the system's components. If you enter the (asdf:defsystem ...) form on the REPL, these variables are not set. Write the defsystem form into a file, then load it like (load "example.asd").