[asdf-devel] How to specify to ASDF to load system from current directory?

Mirko Vukovic mirko.vukovic at gmail.com
Wed Nov 6 15:47:52 UTC 2013


Hello,

this is on recently upgraded SBCL1.1.13 and ASDF 3.0.2

I have a system sitting in ~/quicklisp/local-dists and a development
version sitting in ~/.../lisp-development/

I would like ASDF to open the latter one.  I use asdf:load-system.

I cd to the development directory and start slime there.  (asdf:load-system
...) still tries to fetch the version in the
quicklisp directory.

I tried setting the (:directory :here) entry in source-registry.conf but
that led to an error in
asdf/configuration:resolve-absolute-location:

NIL fell through ETYPECASE expression.
Wanted one of ((EQL :USER-CACHE) (EQL :HERE) (EQL :HOME)
               (EQL :ROOT) CONS STRING PATHNAME).


I could fix that error by setting the *here-directory* to
*default-pathname-defaults*:
(progn
  (asdf/configuration:clear-configuration)
  (let ((asdf/configuration:*here-directory* *default-pathname-defaults*))
    (print asdf/configuration:*here-directory*)
    (asdf/configuration:resolve-absolute-location :here)
    (asdf:load-system :my-utils :verbose t)))

Now resolve-absolute-location returns the correct directory,
asdf:system-source-directory
still returns the version in the quicklisp directory.

I did trace a bit deeper, but I am not sure that I am on the correct path.

These are the contents of my configuration file:
(:source-registry
 (:directory :here)
  :inherit-configuration)

Without the last directive, I get an error:
Unable to display error condition: unbound condition slot:
UIOP/CONFIGURATION::FORM
   [Condition of type INVALID-SOURCE-REGISTRY]
...
Backtrace:
  0: (REPORT-INVALID-FORM INVALID-SOURCE-REGISTRY :ARGUMENTS ("~@<One and
only one of ~S or ~S is required.~@:>" :INHERIT-CONFIGURATION
:IGNORE-INHERITED-CONFIGURATION))
  1: (VALIDATE-CONFIGURATION-FORM (:SOURCE-REGISTRY (:DIRECTORY :HERE)
(:TREE
"/home/977315/projects/chamber-matching/experimental-data/data-analysis-software/"))
:SOURCE-REGISTRY VALIDATE-SOURCE-REGISTRY-..
  2: ((:METHOD PROCESS-SOURCE-REGISTRY (PATHNAME))
#P"/home/mv/.config/common-lisp/source-registry.conf" :INHERIT
(USER-SOURCE-REGISTRY-DIRECTORY SYSTEM-SOURCE-REGISTRY
SYSTEM-SOURCE-REGISTRY-DIRECTORY DEF..
  3: (ASDF/SOURCE-REGISTRY::PROCESS-SOURCE-REGISTRY-DIRECTIVE
:INHERIT-CONFIGURATION :INHERIT (NIL ENVIRONMENT-SOURCE-REGISTRY
USER-SOURCE-REGISTRY USER-SOURCE-REGISTRY-DIRECTORY SYSTEM-SOURCE-REGISTRY
SYS..
  4: ((:METHOD PROCESS-SOURCE-REGISTRY (CONS)) (:SOURCE-REGISTRY (:TREE
#P"/usr/local/lib/sbcl/") :INHERIT-CONFIGURATION) :INHERIT (NIL
ENVIRONMENT-SOURCE-REGISTRY USER-SOURCE-REGISTRY USER-SOURCE-REGISTRY..
  5: (FLATTEN-SOURCE-REGISTRY NIL)


Thanks,

Mirko
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/asdf-devel/attachments/20131106/aeba71b0/attachment.html>


More information about the asdf-devel mailing list