asdf:defsystem complains about path, sometimes

Mirko Vukovic mirko.vukovic at gmail.com
Wed Mar 1 16:15:11 UTC 2017


Trivially fixed with :pathname option (see below), but still, was that the
expected behavior

On Wed, Mar 1, 2017 at 11:00 AM Mirko Vukovic <mirko.vukovic at gmail.com>
wrote:

> Hello,
>
> This is with asdf 3.1.7.27,
> Armed Bear Common Lisp 1.4.0
> Java 1.6.0_41 Sun Microsystems Inc.
> OpenJDK 64-Bit Server VM,
> Emacs & Slime
>
> The following example code from the ASDF manual
>
> (asdf:defsystem "hello-lisp"
>   :description "hello-lisp: a sample Lisp system."
>   :version "0.0.1"
>   :author "Joe User <joe at example.com>"
>   :licence "Public Domain"
>   :depends-on ("optima.ppcre" "command-line-arguments")
>   :components ((:file "packages")
>                (:file "macros" :depends-on ("packages"))
>                (:file "hello" :depends-on ("macros"))))
>
> when executed via the ABCL command line gives a relative path error
>
>   Invalid relative pathname #P"packages.lisp" for component ("hello-lisp"
> "packages")
> Restarts:
>   0: RETRY                         Retry ASDF operation.
>   1: CLEAR-CONFIGURATION-AND-RETRY Retry ASDF operation after resetting
> the configuration.
>   2: TOP-LEVEL                     Return to top level.
>
> If that code is in a file, then the file compiles cleanly:
>
> CL-USER(6): (load (compile-file "test.asd"))
> ; Compiling /home/mv/projects/poi+excel/test.asd ...
> ; (IN-PACKAGE :CL-USER)
> ; (ASDF/PARSE-DEFSYSTEM:DEFSYSTEM "hello-lisp" ...)
> ; Wrote /home/mv/projects/poi+excel/test.abcl (0.021 seconds)
> T
> CL-USER(7):
>
> I am looking for confirmation of this and second opinions before taking up
> at the ASDF mailing list.
>
> Thanks,
>
> Mirko
>
>
The execution failure can be fixed by adding :pathname #P"..." to the
system definition.

This seems to be in conflict with the ASDF manual:
6.3.13 Source location (:pathname)

The :pathname option is optional in all cases for systems defined via
defsystem, and generally is unnecessary. In the simple case, source files
will be found in the same directory as the system or, in the case of
modules, in a subdirectory with the same name as the module.

Mirko
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/armedbear-devel/attachments/20170301/92e417fc/attachment.html>


More information about the armedbear-devel mailing list