[asdf-devel] Cache? Translations? How to get rid of them?

Juan Jose Garcia-Ripoll juanjose.garciaripoll at googlemail.com
Sat Mar 13 13:50:36 UTC 2010


On Sat, Mar 13, 2010 at 12:01 PM, Juan Jose Garcia-Ripoll <
juanjose.garciaripoll at googlemail.com> wrote:

> I must admit that after four hours fighting with this I am right now a bit
> pissed off, so please forgive the tone of the message.
>
> ASDF has introduced a new caching system which alters the names of all
> output files. This is making me mad because I am trying to implement
> pre-built ASDF components for ECL  and ASDF insists on changing the value of
> output-files and input-files, looking for those prebuilt files at the
> location of the cache.
>

I forgot to say this is 1.604 That seems to be one source of problems:
logical pathnames are only kept untouched in recent versions and . However,
recent versions of ASDF do not work with ECL because a generic function has
been removed, component-relative-pathname. I attach a diff of the required
changes.

In any case I still find it problematic that all physical pathnames are
translated and that no simple way of keeping ECL's system directory untouch
remains. I tried with

(defparameter *implementation-output-translations*
  `(:output-translations
   ;; If clozure had any precompiled ASDF system, we'd use that:
   ; #+clozure (,(ccl::ccl-directory) ())
   ;; SBCL *does* have precompiled ASDF system, so we use this:
   #+sbcl (,(getenv "SBCL_HOME") ())
   ;; ECL *does* have precompiled ASDF system, so we use this:
   #+ecl (,(translate-logical-pathname "SYS:") ())
   ;; All-import, here is where we want user stuff to be:
   :inherit-configuration
   ;; If we want to enable the user cache by default, here would be the
place:
   :enable-user-cache
   ))

but the resulting initialization is

> (asdf::initialize-output-translations)

(((#P"/Users/jjgarcia/lib/ecl-10.3.1/" #P"/Users/jjgarcia/lib/ecl-10.3.1/")
  (#P"/**/*.*"
   #P"/Users/jjgarcia/.cache/common-lisp/ecl-10.3.1-darwin-x86/**/*.*")))

so that the system directory pathname NEVER matches any translation. The
previous list should instead read

(((#P"/Users/jjgarcia/lib/ecl-10.3.1/**/*.*"
#P"/Users/jjgarcia/lib/ecl-10.3.1/**/*.*")
  (#P"/**/*.*"
   #P"/Users/jjgarcia/.cache/common-lisp/ecl-10.3.1-darwin-x86/**/*.*")))


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/20100313/d038025b/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: asdf.diff
Type: application/octet-stream
Size: 1825 bytes
Desc: not available
URL: <https://mailman.common-lisp.net/pipermail/asdf-devel/attachments/20100313/d038025b/attachment.obj>


More information about the asdf-devel mailing list