On 23 Apr 2014, at 06:26, Robert Dodier robert.dodier@gmail.com wrote:
Hi,
I'm trying to use ABCL + ASDF to compile and load Maxima. It used to work so I guess there have just been some small changes to ABCL and/or ASDF that I need to take account of.
This should be purely in the realm of ASDF, which can change quite a bit in small ways.
After (require 'asdf) and (setf asdf:*central-registry* '(*default-pathname-defaults*)) (which wasn't necessary before, but that doesn't matter),
I think it is a real bad idea to set *CENTRAL-REGISTRY* to a special, and I suspect this is the root of your problems.
I’ve grown to appreciate the use the ASDF’s configuration DSL, especially under Windows where symlinking things into *CENTRAL-REGISTRY* locations doesn’t work very well.
To use:
1. Create file:~/.config/common-lisp/source-registry.conf.d/
2. Create a file in this directory named “maxima.conf” containing the following form:
(:tree (:home “tmp/maxima-5.33.0/“))
This should pick up all ASDF definitions recursively under file:~/tmp/maxima-5.33.0/ upon startup.
I find that (asdf:operate 'asdf:load-op :maxima) fails with an error like this:
#<THREAD "interpreter" {EE920}>: Debugger invoked on condition of type FILE-ERROR File not found: /home/robert/.cache/common-lisp/abcl-1.3.0-fasl42-linux-x86 /home/robert/tmp/maxima-5.33.0/src/binary-abcl/maxima-package.abcl
But maxima-package.abcl does exist in /home/robert/tmp/maxima-5.33.0/src/binary-abcl, and (since the current working directory is /home/robert /tmp/maxima-5.33.0/src) (load "binary-abcl/maxima-package.abcl") succeeds. Then I can select option 2 (accept) and continue to the next file, autoconf-variables.abcl, load it by hand, continue to the next, nregex.abcl, etc etc.
/home/robert/.cache/common-lisp doesn't exist. How can I tell ASDF to look in the same place that it actually wrote the file?
ASDF should be doing this for you. It certainly does for me in a wide variety of cases (including inside JAR archives like abcl-contrib).
Thanks for any advice. I found some ASDF documentation but couldn't figure it out.
The [ASDF manual included with ABCL][1] always refers to the version shipping with ABCL. Understanding things can be a bit of a slog sometimes, but in general the manual has been getting quite better recently.
[1]: http://abcl.org/trac/browser/trunk/abcl/doc/asdf/asdf.texinfo