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