On Sat, Mar 13, 2010 at 12:01 PM, Juan Jose Garcia-Ripoll <span dir="ltr"><<a href="mailto:juanjose.garciaripoll@googlemail.com">juanjose.garciaripoll@googlemail.com</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
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.<br><br>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.<br>
</blockquote><div><br>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.<br>
<br>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<br><br>(defparameter *implementation-output-translations*<br>
  `(:output-translations<br>   ;; If clozure had any precompiled ASDF system, we'd use that:<br>   ; #+clozure (,(ccl::ccl-directory) ())<br>   ;; SBCL *does* have precompiled ASDF system, so we use this:<br>   #+sbcl (,(getenv "SBCL_HOME") ())<br>
   ;; ECL *does* have precompiled ASDF system, so we use this:<br>   #+ecl (,(translate-logical-pathname "SYS:") ())<br>   ;; All-import, here is where we want user stuff to be:<br>   :inherit-configuration<br>   ;; If we want to enable the user cache by default, here would be the place:<br>
   :enable-user-cache<br>   ))<br><br>but the resulting initialization is <br><br>> (asdf::initialize-output-translations)<br><br>(((#P"/Users/jjgarcia/lib/ecl-10.3.1/" #P"/Users/jjgarcia/lib/ecl-10.3.1/")<br>
  (#P"/**/*.*"<br>   #P"/Users/jjgarcia/.cache/common-lisp/ecl-10.3.1-darwin-x86/**/*.*")))<br><br>so that the system directory pathname NEVER matches any translation. The previous list should instead read<br>
<br>(((#P"/Users/jjgarcia/lib/ecl-10.3.1/**/*.*" 
#P"/Users/jjgarcia/lib/ecl-10.3.1/**/*.*")<br>
  (#P"/**/*.*"<br>
   
#P"/Users/jjgarcia/.cache/common-lisp/ecl-10.3.1-darwin-x86/**/*.*")))<br>
<br><br>Juanjo<br><br></div></div>-- <br>Instituto de Física Fundamental, CSIC<br>c/ Serrano, 113b, Madrid 28006 (Spain) <br><a href="http://juanjose.garciaripoll.googlepages.com">http://juanjose.garciaripoll.googlepages.com</a><br>