[asdf-devel] possible clisp/win32 incompatibility

Robert Goldman rpgoldman at sift.info
Mon Jan 25 04:07:33 UTC 2010


On 1/24/10 Jan 24 -9:39 PM, dherring at tentpost.com wrote:
> Robert Goldman wrote:
>> On 1/24/10 Jan 24 -3:01 PM, Daniel Herring wrote:
>>> Thanks for the ideas.  Poking around a bit further, it appears that in
>>> the following snippet from output-files-using-mappings
>>> (*centralize-lisp-binaries* is false), (pathname-directory path) is nil.
>>>
>>>                  (make-pathname
>>>                   :type (pathname-type path)
>>>                   :directory (append
>>>                               (pathname-directory path)
>>>                               (implementation-specific-directory-name))
>>>                   :defaults path)))))
>>>
>>> Thus clisp is seeing ":directory (clisp)" without a leading :relative or
>>> :absolute.  I don't know the cause and am focused on other issues right
>>> now (this one has a couple workarounds: use ccl or an older asdf).
>>
>> Can you trace pathname-type inside the invocation of
>> output-files-using-mappings?  This smells like a CLISP bug to me....
> 
> Here's some relevant FORMAT ~S output.  "p:" is the full path right before
> the error; p-d is the pathname-directory.
> 
> ;; Loaded file #<INPUT BUFFERED FILE-STREAM CHARACTER C:\Documents and
> Settings\nuntius\Desktop\able-release\systems\ltk\ltk.asd @19>
> p: #P"C:ltk.fas"
> p-d: NIL
> *** - MAKE-PATHNAME: Illegal :DIRECTORY argument ("clisp-2.48-win32-i386")
> 
> Something bad happened before this call; the paths list is screwed up in
> the output-files defmethod around compile-op (a few lines below the above
> snippet).  It is merely (#P"C:ltk.fas").
> 
> From a few TRACEs, it appears that *default-pathname-defaults* is #P"C:",
> and this is the value of component-parent-pathname. 
> Component-relative-pathname is "ltk.lisp".

Hm.  That looks like the *default-pathname-defaults* has only a :device
(or possibly a :host) but no :directory component.  I really don't have
the foggiest idea how that could have happened.  I'm afraid I am neither
a windows nor a clisp user, so someone else will have to step in here.

Looks like that :directory argument is simply the output of
(implementation-specific-directory-name) and that agrees that
pathname-directory of path NIL.

No idea why this is happening, but I suspect it's a problem with the
system pathname somehow.

Best of luck,
r




More information about the asdf-devel mailing list