Documentation "The defsystem form"
Hello, using asdf with quicklisp it seems that the :version component is not optional but actually required. Maybe this can be mentioned in §6.1 "The defsystem form" The documentation reads - This system also defines a bunch of metadata. While it is optional to define these fields (and other fields like :bug-tracker, :mailto, :long-name, :long-description, :source-control), it is strongly recommended to define the fields :description, :version, :author, and :licence, especially if you intend your software to be eventually included in Quicklisp. If I try to ql:quickload: ====================================================== (asdf:defsystem #:foo-pkg :description "foo pkg" :author "MS" :components ((#:file "package"))) ====================================================== I get ====================================================== Error while trying to load definition for system foo-pkg from pathname /home/mirko/quicklisp/local-projects/foo-pkg/foo-pkg.asd: don't recognize component type #:FILE [Condition of type ASDF/FIND-SYSTEM:LOAD-SYSTEM-DEFINITION-ERROR] ====================================================== with the :version component it works ====================================================== (asdf:defsystem #:foo-pkg :description "foo pkg" :author "MS" :author "0.0.1" :components ((#:file "package"))) ====================================================== ====================================================== CL-USER> (ql:quickload "foo-pkg") To load "foo-pkg": Load 1 ASDF system: foo-pkg ; Loading "foo-pkg" ("foo-pkg") ====================================================== Regards
No, the version component is not required. There is something else going wrong here. I can't tell what might be going wrong, because I can't tell: 1. What version of ASDF are you using? What does `(asdf:asdf-version)` report? 2. What is the error and backtrace? This isn't a straightforward copy out of a Lisp REPL, because, for example, the following is not a correct form: ``` (asdf:defsystem #:foo-pkg :description "foo pkg" :author "MS" :author "0.0.1" :components ((#:file "package"))) ``` The above has two `:author` fields and no `:version` field. 3. Finally, I have no way of telling what is happening inside `quickload` before it calls `asdf:defsystem`. 4. I suspect the problem is actually that you are using an uninterned symbol, `#:file` instead of the keyword symbol `:file`. R On 22 Mar 2024, at 15:46, Mirko Scholz wrote:
Hello,
using asdf with quicklisp it seems that the :version component is not optional but actually required. Maybe this can be mentioned in §6.1 "The defsystem form"
The documentation reads
- This system also defines a bunch of metadata. While it is optional to define these fields (and other fields like :bug-tracker, :mailto, :long-name, :long-description, :source-control), it is strongly recommended to define the fields :description, :version, :author, and :licence, especially if you intend your software to be eventually included in Quicklisp.
If I try to ql:quickload:
====================================================== (asdf:defsystem #:foo-pkg :description "foo pkg" :author "MS" :components ((#:file "package"))) ======================================================
I get
====================================================== Error while trying to load definition for system foo-pkg from pathname /home/mirko/quicklisp/local-projects/foo-pkg/foo-pkg.asd: don't recognize component type #:FILE [Condition of type ASDF/FIND-SYSTEM:LOAD-SYSTEM-DEFINITION-ERROR] ======================================================
with the :version component it works ====================================================== (asdf:defsystem #:foo-pkg :description "foo pkg" :author "MS" :author "0.0.1" :components ((#:file "package"))) ======================================================
====================================================== CL-USER> (ql:quickload "foo-pkg") To load "foo-pkg": Load 1 ASDF system: foo-pkg ; Loading "foo-pkg"
("foo-pkg") ======================================================
Regards
participants (2)
-
Mirko Scholz
-
Robert Goldman