[asdf-devel] ASDF breaks ECL's use of :PATHNAME
Juan Jose Garcia-Ripoll
juanjose.garciaripoll at gmail.com
Sun Oct 28 00:04:58 UTC 2012
On Sun, Oct 28, 2012 at 1:51 AM, Faré <fahree at gmail.com> wrote:
> This particular example looks like it works for me on
> ecl-12.7.1-52ca46e0-linux-x64.
> So does replacing the (require :asdf) by loading 2.25.4. On the other hand,
> (asdf:upgrade-asdf) from the builtin 2.017.5 miserably segfaults :-(
>
The version released with that ECL is too old. Recent git sources ship with
the latest ASDF and asdf-bundle (well, perhaps a few days off if I missed
some announcement)
If you load 2.25.4 on that release, it will not use the prebuilt asdf but
rather just load the *.fas files, which misses totally the point: prebuilt
components do not work.
If you want to reproduce the error and see how component-relative-pathname
fails to produce the right output, use this
(ext::install-bytecodes-compiler)
(setf *load-verbose* t)
(progn
(load "~/devel/ecl/contrib/asdf/asdf.lisp" :verbose t)
(load "~/devel/ecl/contrib/asdf/specials.lisp" :verbose t)
(load "~/devel/ecl/contrib/asdf/bundle.lisp" :verbose t)
(load "~/devel/ecl/contrib/asdf/ecl.lisp" :verbose t))
(trace asdf::component-relative-pathname)
(load "~/quicklisp/setup")
The definition of component-relative-pathname wraps around the slot value,
totally ignoring the value of the pathname type
(defmethod component-relative-pathname ((component component))
(coerce-pathname
(or (slot-value component 'relative-pathname)
(component-name component))
:type (source-file-type component (component-system component))
:defaults (component-parent-pathname component)))
Thus the screwed output:
1> (COMPONENT-RELATIVE-PATHNAME #<compiled-file "sockets" "sockets">)
<1 (COMPONENT-RELATIVE-PATHNAME #P"SYS:SOCKETS.FASC")
1> (COMPONENT-RELATIVE-PATHNAME #<compiled-file "sockets" "sockets">)
<1 (COMPONENT-RELATIVE-PATHNAME #P"SYS:SOCKETS.FASC")
Juanjo
--
Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28006 (Spain)
http://juanjose.garciaripoll.googlepages.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/asdf-devel/attachments/20121028/c75f66a3/attachment.html>
More information about the asdf-devel
mailing list