[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