On Mon, Sep 21, 2015 at 7:15 PM, Robert Dodier <robert.dod...@gmail.com> wrote: > Thanks a lot to everybody for the advice. I think I've made some > progress. I've attached a patch showing the initial changes I've > made, and with this much I can load a trivial system into Maxima. > Do NOT patch ASDF, unless there's a bug. Create an extension and use defsystem-depends-on, as documented in the manual.
> I'm working with asdf.lisp 2.26 which is packaged with Quicklisp, > since the larger goal is to use Quicklisp to download and install > Maxima packages. > Do NOT use ASDF 2.26. It is not supported, and internals are somewhat incompatible. ASDF 3 is available on every single maintained implementation. > Incidentally I'm working with Clisp 2.49. > CLISP isn't currently maintained. Unless you need it due for portability reasons, or love it enough to become its new maintainer, I suggest to use another implementation. If you *must* use CLISP, use our script tools/install-asdf.lisp to overwrite its ASDF with the latest ASDF release (currently 3.1.5). > I've run into some strangeness, maybe someone can explain > what's going on. > > (1) (asdf:load-system :foo) seems to always cause files to > be compiled. That's kind of puzzling. > This typically means that your input-files or output-files are wrong. Your code is not even wrong: it's missing a method on output-files. ASDF 2.26 has also deep unfixable bugs regarding incremental build, and it is unsupported. Use ASDF 3. > (2) The first time asdf.lisp is loaded, Quicklisp writes asdf.fas > into its own cache. The second time, I get an error about ASDF:OOS. > Any ideas? Here's the error: > Use ASDF 3. > *** - EVAL: undefined function ASDF:OOS > The following restarts are available: > USE-VALUE :R1 Input a value to be used instead of > (FDEFINITION 'ASDF:OOS). > RETRY :R2 Retry > STORE-VALUE :R3 Input a new value for (FDEFINITION 'ASDF:OOS). > SKIP :R4 skip (LET # #) > RETRY :R5 retry (LET # #) > STOP :R6 stop loading file /home/robert/quicklisp/setup.lisp > SKIP :R7 skip (LET # #) > RETRY :R8 retry (LET # #) > STOP :R9 stop loading file /home/robert/.clisprc.lisp > Break 1 QL-SETUP[4]> > This is completely useless. Give us a backtrace. From CCL or SBCL, not CLISP. While compiling ASDF and/or your extension with extra debugging information. Also, don't use (component-pathname c) in your perform method. Use (first (input-files o c)), so users can suitable modify or extend your methods. Please come back after you've read the manual (notably section 7) and actually tried to apply the recipes there. And/or at least cargo culted from an existing extension. —♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org A politician divides mankind into two classes: tools and enemies. — Nietzsche