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>