[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)
CL-USER(2): (pushnew "jar:file:/tmp/foo.jar!/systemfoo/" asdf:*central-registry*)
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