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.