[armedbear-devel] how to load fasls from jar via asdf
Robert Dodier
robert_dodier at yahoo.com
Tue Aug 24 05:42:09 UTC 2010
Thanks, Mark. I still can't get it to work.
I tried a simpler example.
$ jar tvf foo.jar
0 Mon Aug 23 23:32:52 MDT 2010 META-INF/
71 Mon Aug 23 23:32:52 MDT 2010 META-INF/MANIFEST.MF
0 Mon Aug 23 23:32:32 MDT 2010 systemfoo/
1618 Mon Aug 23 23:32:02 MDT 2010 systemfoo/foobar.abcl
47 Mon Aug 23 23:26:32 MDT 2010 systemfoo/foo.asd
$ cat systemfoo/foo.asd
(defsystem foo :components ((:file "foobar")))
$ cat ~/tmp/foobar.lisp
(defun foobar () (print "HELLO, WORLD!"))
I created foobar.abcl via (compile-file "foobar.lisp").
So with all of that in place ...
$ java -cp maxima-abcl-fasls.jar -jar ~/tmp/abcl-0.22.0-dev.jar
Armed Bear Common Lisp 0.22.0-dev
Java 1.5.0_01 Sun Microsystems Inc.
Java HotSpot(TM) Client VM
Low-level initialization completed in 4.505 seconds.
Startup completed in 13.442 seconds.
Type ":help" for a list of available commands.
CL-USER(1): (require 'asdf)
("CLOS" "PRINT-OBJECT" "FORMAT" "ASDF")
CL-USER(2): (pushnew "jar:file:/tmp/foo.jar!/systemfoo/" asdf:*central-registry*)
("jar:file:/tmp/foo.jar!/systemfoo/")
CL-USER(3): (asdf:operate 'asdf:load-op :foo)
; loading system definition from jar:file:/tmp/foo.jar!/systemfoo/foo.asd into #<PACKAGE "ASDF0">
; registering #<SYSTEM FOO> as FOO
#<THREAD "interpreter" {1CD1CEA}>: Debugger invoked on condition of type FILE-ERROR
The file "jar:file:/tmp/foo.jar!/systemfoo/foobar.lisp" does not exist.
I guess ASDF didn't see foobar.abcl in the jar file.
Can you tell what's going on here?
Pretty sure that's the same problem that I got with Maxima too --
not loading the .abcl's and complaining instead about
the missing .lisp's.
Thanks so much for your help,
Robert Dodier
More information about the armedbear-devel
mailing list