[Armedbear-devel] controlling from where ASDF loads .abcl files
Mark Evenson
evenson at panix.com
Wed Apr 23 06:20:25 UTC 2014
On 23 Apr 2014, at 06:26, Robert Dodier <robert.dodier at 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
--
"A screaming comes across the sky. It has happened before but there is nothing
to compare to it now."
_______________________________________________
Armedbear-devel mailing list
Armedbear-devel at common-lisp.net
http://common-lisp.net/cgi-bin/mailman/listinfo/armedbear-devel
More information about the armedbear-devel
mailing list