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@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@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