On Sun, Jun 14, 2009 at 9:33 AM, Elliott Slaughter < elliottslaughter@gmail.com> wrote:
On Sun, Jun 14, 2009 at 10:29 AM, Luís Oliveira luismbo@gmail.com wrote:
On Fri, Jun 12, 2009 at 9:24 PM, Elliott Slaughterelliottslaughter@gmail.com wrote:
Of course, with :dont-save t, the user then has to call
use-foreign-library
again when starting up from the saved image, but I find this preferable
to
the crash I receive otherwise.
IIRC, you can close the foreign libraries before saving an image and reload them manually afterwards. Would that be an acceptable work-around?
Let me see if it works; I'll get back to you after I've tried it.
I'm believe I'm seeing this issue again, but none of my previous workarounds seem to be working. I am using SBCL 1.0.29 on Windows XP, and when I save and run an executable, I keep getting undefined alien errors. I have tried both the :dont-save t hack that I initially suggested, and have tried calling (close-foreign-library ...) on all of the open libraries before saving the executable, and nothing helps.
Can you suggest a course of action?
Thanks.
Here is the backtrace from when I try to run the executable:
This is experimental prerelease support for the Windows platform: use at your own risk. "Your Kitten of Death awaits!"
debugger invoked on a UNDEFINED-ALIEN-ERROR: Undefined alien: "SDL_Linked_Version"
Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.
(no restarts: If you didn't do this on purpose, please report it as a bug.)
(SB-SYS:ENSURE-DYNAMIC-FOREIGN-SYMBOL-ADDRESS "SDL_Linked_Version" #<unused argument>) 0] WARNING: Starting a select without a timeout while interrupts are disabled. ba 0: (SB-SYS:ENSURE-DYNAMIC-FOREIGN-SYMBOL-ADDRESS "SDL_Linked_Version" #<unused argument>) 1: ((FLET SB-THREAD::WITH-RECURSIVE-SYSTEM-SPINLOCK-THUNK)) 2: ((FLET #:WITHOUT-INTERRUPTS-BODY-[CALL-WITH-RECURSIVE-SYSTEM-SPINLOCK]196)) 3: (SB-THREAD::CALL-WITH-RECURSIVE-SYSTEM-SPINLOCK #<CLOSURE (FLET SB-THREAD::WITH-RECURSIVE-SYSTEM-SPINLOCK-THUNK) {22FCDD}> #<unavailable argument>) 4: (SB-SYS:UPDATE-LINKAGE-TABLE) 5: (SB-IMPL::FOREIGN-REINIT) 6: (SB-IMPL::REINIT) 7: ((LABELS SB-IMPL::RESTART-LISP)) 8: ("foreign function: #x4120C4") 9: ("foreign function: #x40AF88")