[armedbear] #412: Using FASLs from a Jar

armedbear armedbear-devel at common-lisp.net
Sun Jun 12 14:28:31 UTC 2016


#412: Using FASLs from a Jar
----------------------+----------------------
 Reporter:  mevenson  |           Owner:
     Type:  defect    |          Status:  new
 Priority:  major     |       Milestone:
Component:  (A)MOP    |         Version:
 Keywords:            |  Parent Tickets:
----------------------+----------------------
 Vibhu notes in <http://article.gmane.org/gmane.lisp.armedbear.devel/3600>
 that he is unable to use FASLs from a Jar

 {{{

 I've got #'asdf-jar:package to create a jar file containing lisp sources
 and fasls. With abcl-1.0.1,
 (asdf:operate 'asdf:load-op ...)
 uses the fasls from the jar, whereas with abcl-1.1.0 onwards those fasls
 are ignored and the jarred sources are compiled into ~/.cache/... again.

 Is this a bug, or is it a feature (as easyE seems to think it is, in the
 last two sentences at:
 http://stackoverflow.com/questions/4763910/abcl-compilation-and-primitives
 )?


 If it's a bug, here is how far I've got in my diagnosis.

 (asdf-jar:add-to-asdf "wispym.jar")

 shows this in abcl-1.0.1

 ((#P"jar:file:/Users/vibhu/t3/wispym-all.jar!/**/*.*" T)
 (#P"jar:file:/Users/vibhu/t3/wispym-all.jar!/**/*.*"
 #P"jar:file:/Users/vibhu/t3/wispym-all.jar!/**/*.*")
 (#P"/Users/vibhu/.cache/common-
 lisp/abcl-1.0.1-svn-13750-13751-fasl38-solaris-x86/**/*.*"
 T) (#P"/___jar___file___root___/**/*.*"
 #P"/Users/vibhu/.cache/common-
 lisp/abcl-1.0.1-svn-13750-13751-fasl38-solaris-x86/**/*.*")
 (#P"jar:file:/**/*.jar!/**/*.*" #<TRANSLATE-JAR-PATHNAME {2B63F8AD}>) (T
 #P"/Users/vibhu/.cache/common-
 lisp/abcl-1.0.1-svn-13750-13751-fasl38-solaris-x86/**/*.*"))

 but this in abcl-1.3.2,

 ((#P"/**/*.*" T) (#P"/**/*.*" #P"/**/*.*")
 (#P"/Users/vibhu/.cache/common-lisp/abcl-1.3.2-fasl42-macosx-x64/**/*.*"
 T) (#P"/___jar___file___root___/**/*.*"
 #P"/Users/vibhu/.cache/common-lisp/abcl-1.3.2-fasl42-macosx-x64/**/*.*")
 (#P"jar:file:/**/*.jar!/**/*.*" #<TRANSLATE-JAR-PATHNAME {4F340027}>) (T
 #P"/Users/vibhu/.cache/common-lisp/abcl-1.3.2-fasl42-macosx-x64/**/*.*"))

 I think these are asdf output-translations, each specifying a source
 directory and a corresponding destination directory.

 The first two entries are significantly different between abcl-1.0.1 and
 abcl-1.3.2.

 ----
 The reason I'd like to use the jarred fasls is that I'm distributing my
 program to customers. I don't want to spew fasls around their hard
 disks. I also don't want to get into having to explain to them to clear
 caches. (I do have to do this locally on occasion, e.g. when timestamps
 on files confuse the cache). But most importantly, I've got a large
 cl-yacc grammar that takes ages to macroexpand and compile. I don't want
 them to wait so long even though it's just on the first load.

 }}}

--
Ticket URL: <http://abcl.org/trac/ticket/412>
armedbear <http://abcl.org>
armedbear


More information about the armedbear-ticket mailing list