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