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