[Asdf-devel] native-namestring in asdf/cache:normalize-namestring?

Orivej Desh c at orivej.org
Tue Nov 25 16:24:38 UTC 2014


Currently, between CFFI-GROVEL and ASDF, neither normalizes pathnames
with a dot in :NAME and NIL in :TYPE.


     (cffi-grovel:grovel-file "grovel.cffi")

in a system definition may cause an error under SBCL in
ASDF/CACHE:NORMALIZE-NAMESTRING when it calls NAMESTRING on 
the value of CFFI-GROVEL::EXE-FILENAME:

Calling

     (cffi-grovel::exe-filename #p"grovel.cffi.lisp")

returns

     #<pathname (with no namestring)
                :HOST #<sb-impl::unix-host {10002ACE43}>
                :DEVICE nil
                :DIRECTORY (:relative ".")
                :NAME "grovel.cffi"
                :TYPE nil
                :VERSION :newest>

to ASDF/ACTION:COMPUTE-ACTION-STAMP which can't deal with it when called
with :JUST-DONE NIL.

Backtrace: http://report.quicklisp.org/cl-libssh2/2014-09-26/failtail.txt

One solution is to make CFFI-GROVEL::EXE-FILENAME normalize resulting
pathname: https://github.com/cffi/cffi/pull/52

Another is to make ASDF/CACHE:NORMALIZE-NAMESTRING call
NATIVE-NAMESTRING instead of NAMESTRING.

Who should be responsible for normalizing such a pathname, ASDF
of CFFI-GROVEL?





More information about the asdf-devel mailing list