From: Haakon Alstadheim
Subject: asdf, subdirs and debian do not like each other
Date: 
Message-ID: <44f958dc$0$8003$c83e3ef6@nn1-read.tele2.net>
Hi, im trying to use an asdf-file i got from somebody else. My system is
debian etch with the standard debian lisp setup, Im using sbcl. Source 
code is available by doing (all on one line) at a shell prompt:

   cvs -z3 -d 
····························@common-lisp.net:/project/cl-snmp/cvsroot co 
cl-snmp

The .asd file contains things like:

(defsystem snmp
     :components
   ((:file "asn1/package")
    (:file "snmp/package"
	  :depends-on ("asn1/package"))
    (:file "dependent"
     :in-order-to ((compile-op (load-op "snmp/package")))
     :in-order-to ((load-op (load-op "asn1/package"))))
....

Compilation chokes like so:
The path
 
#P"/var/cache/common-lisp-controller/1003/sbcl/local/home/hakona/cl-snmp-cvs/cl-snmp/asn1/package.fasl"
does not exist.
    [Condition of type SB-INT:SIMPLE-FILE-ERROR]

I.e. it stops on the first file that is in a subdir.

If I change to make asn1/package into asn1-package, and copy 
asn1/package to asn1-package (i.e. one level up), things work.

Adding a pathname, like I've done for snmp/package here:
(defsystem snmp
     :components
   ((:file "asn1-package")
    (:file "snmp/package"
	  :pathname #.(pathname "snmp/package.lisp")
	  :depends-on ("asn1-package"))

...also fixes things.

I see three solutions.
   1) Make the maintainer of the cl-snmp package change the layout of the
      package.
   2) Add pathname clauses everywhere.
   3) Fix some other package to interpret (:file "asn1/package") as a
      relative pathname.

Now, what should I do, 1,2 or 3 ?

Are relative pathnames without the :pathname clause even supposed to 
work in asdf? I can not find anything in the docs about that.