On Sat, Mar 13, 2010 at 12:01 PM, Juan Jose Garcia-Ripoll <juanjose.garciaripoll@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