Opened 12 years ago
Closed 12 years ago
#235 closed defect (fixed)
Compiled cl+ssl sources not reloadable
Reported by: | ehuelsmann | Owned by: | Mark Evenson |
---|---|---|---|
Priority: | major | Milestone: | 1.1.0 |
Component: | compiler | Version: | 1.1.0-dev |
Keywords: | cffi, quicklisp | Cc: | |
Parent Tickets: |
Description
When loading compiled cl+ssl sources, abcl throws the following error:
Error loading /home/ehuelsmann/.cache/common-lisp/abcl-1.1.0-dev-svn-14068-fasl39-linux-java/home/ehuelsmann/quicklisp/dists/quicklisp/software/cl+ssl-20120703-git/ffi.abcl at line 168 (offset 9318) #<THREAD "interpreter" {1513F3}>: Debugger invoked on condition of type ERROR Class not found: org.armedbear.jna.dynamic.callbacks.G15349
It seems a reference to a dynamic class is saved, but the class is not regenerated upon loading in a fresh image.
Change History (5)
comment:1 Changed 12 years ago by
Keywords: | cffi quicklisp added |
---|---|
Owner: | changed from ehuelsmann to Mark Evenson |
Status: | new → assigned |
Version: | → 1.1.0-dev |
comment:3 follow-up: 4 Changed 12 years ago by
Hm could one just ignore these compiled files? having to rm them all the time isn't really that nice
comment:4 Changed 12 years ago by
Replying to https://openid.fau.de/eg74yneg:
Hm could one just ignore these compiled files? having to rm them all the time isn't really that nice
One has never needed to remove the files outside of ABCL: an interactive restart is provided to recompile the dynamic classes.
comment:5 Changed 12 years ago by
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
The latest version of the [CFFI patches for ABCL][1] names the dynamically created interfaces for CFFI callbacks in a manner that no longer needs compliation.
[1]: http://slack.net/~evenson/abcl/cffi/cffi-abcl-20121021a.patch
A [version of this patch has been committed to the master CFFI repository][2], so this change will make it into the Quicklisp distributed version when there is a new release of CFFI.
[2]: https://github.com/cffi/cffi/commit/bd316af736a0bd13e81e4f2f53a24709eaf72f6d
See http://article.gmane.org/gmane.lisp.armedbear.devel/2394 for more background.
Currently, the ABCL CFFI code uses a gensym to name the classes created to support callbacks. A better strategy would be to hash the "prescriptive" part of a callback into the class generated by the ABCL CFFI code.