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

Reply via email to