[asdf-devel] SBCL 1.0.49 / ASDF 2.015.3 doesn't load my asdf systems anymore

Pascal Costanza pc at p-cos.net
Fri Jun 10 22:41:51 UTC 2011


On 11 Jun 2011, at 00:27, Faré wrote:

>> Here is my .sbclrc
>> 
>> (setf (logical-pathname-translations "costanza")
>>      `(("**;*.fasl.*" ,(format nil "/Users/costanza/.cache/common-lisp/~A ~A/**/*.fasl"
>>                               (lisp-implementation-type)
>>                               (lisp-implementation-version)))
>>        ("**;*.*.*" "/Users/costanza/**/*.*")))
>> 
>> ;;; The following lines added by ql:add-to-init-file:
>> #-quicklisp
>> (let ((quicklisp-init (merge-pathnames "quicklisp/setup.lisp"
>>                                       (user-homedir-pathname))))
>>  (when (probe-file quicklisp-init)
>>    (load quicklisp-init)))
>> 
>> And here is my source-registry.conf
>> 
>> (:source-registry
>> 
>>  (:directory "costanza:lisp;asdf-integration")
>> 
>>  (:directory "costanza:lisp;develop;cl-scheme")
>>  (:directory "costanza:lisp;develop;cl-zeroconf-0-2")
>>  (:directory "costanza:lisp;develop;closer;aspectl")
>>  (:directory "costanza:lisp;develop;closer;closer-function")
>>  (:directory "costanza:lisp;develop;closer;closer-mop")
>>  (:directory "costanza:lisp;develop;closer;contextl")
>>  (:directory "costanza:lisp;develop;closer;delegation-classes")
>>  (:directory "costanza:lisp;develop;closer;filtered-functions")
>>  (:directory "costanza:lisp;develop;closer;hash-classes")
>>  (:directory "costanza:lisp;develop;closer;mop-features")
>>  (:directory "costanza:lisp;develop;core-lisp")
>>  (:directory "costanza:lisp;develop;lw-compat")
>>  (:directory "costanza:lisp;develop;Pico;CL-Pico")
>>  (:directory "costanza:lisp;develop;Pico;Pico-0-1")
>>  (:directory "costanza:lisp;develop;PP;Lonestar-1-1;DelaunayRefinement-001;src;lisp")
> 
> Looks like a SBCL bug in how you setup logical pathnames,
> that SBCL is catching:

Not sure how to parse that sentence. Is this my bug, or an SBCL bug?

Anyway, the setup above worked in SBCL 1.0.48, and works in every other Common Lisp implementation that I'm dealing with.

> (in-package :asdf)
> (setf (logical-pathname-translations "fare")
>     `(("**;*.fasl.*" ,(format nil "/home/fare/.cache/common-lisp/~A/**/*.fasl"
>                               (implementation-identifier)))
>       ("**;*.*.*" "/home/fare/**/*.*")))
> 
> ;; emulating what directory-asd-files does.
> (merge-pathnames* *wild-asd*  #P"FARE:CL;FARE-UTILS;")
> ;;=> value: #P"FARE:CL;FARE-UTILS;*.ASD.NEWEST"
> (directory* #P"FARE:CL;FARE-UTILS;*.ASD.NEWEST")
> ;;=> error: Pathname components from SOURCE and FROM args to TRANSLATE-PATHNAME
> did not match: NIL "FASL"
> 
> ;; If you translate the logical pathname, it works:
> (directory* (translate-logical-pathname #P"FARE:CL;FARE-UTILS;*.ASD.NEWEST"))
> ;;=> value: (#P"/home/fare/cl/fare-utils/fare-utils.asd")
> ;; BTW (directory* x) is just (directory x :resolve-symlinks nil)
> 
> So logical-pathnames do not commute with directory in SBCL.

I don't understand what you're talking about. I thought ASDF doesn't do anything with logical pathnames?

> Note that I'll also be surprised if those dual-case pathnames work.
> "Pico" will be read in uppercase as "PICO" as per the CLHS, and
> then attempted as "pico" on the filesystem side. Unless of course
> you add another translation rule for each physical pathname that
> doesn't fit the logical-pathname portability restrictions.

I haven't used those systems in quite a while, so yes, they may or may not work. (I think I did some light testing with those systems, but they are not a priority for me at the moment.)

> NB: why don't you just use the following?
> 
> (:source-registry
>  (:tree #-mcl "/Users/costanza/lisp/"
>         #+mcl "Macintosh HD:Users:costanza:lisp:"))

Because I have to be able to switch between different versions of the same system, for example:

"/Users/costanza/lisp/develop/cl-foo-version-a/cl-foo.asd" vs.
"/Users/costanza/lisp/develop/cl-foo-version-b/cl-foo.asd"

Feeding the whole tree doesn't do the trick for me.


Thanks for the feedback!


Pascal

> 
> Good luck!
> 
>> Thanks for taking care of this.
>> 
>> 
>> Best,
>> Pascal
>> 
>> --
>> Pascal Costanza
>> The views expressed in this email are my own, and not those of my employer.
>> 
> 
> Would it be the classic "missing a directory separator at the end of
> the namestring"?
> 
> [ François-René ÐVB Rideau | Reflection&Cybernethics | http://fare.tunes.org ]
> ... Any resemblance between the above views and those of my employer,
> my terminal, or the view out my window are purely coincidental.  Any
> resemblance between the above and my own views is non-deterministic.  The
> question of the existence of views in the absence of anyone to hold them
> is left as an exercise for the reader.  The question of the existence of
> the reader is left as an exercise for the second god coefficient.  (A
> discussion of non-orthogonal, non-integral polytheism is beyond the scope
> of this article.)

--
Pascal Costanza







More information about the asdf-devel mailing list