[cffi-devel] %load-foreign-library on SBCL

Elliott Slaughter elliottslaughter at gmail.com
Mon Dec 21 20:55:22 UTC 2009


On Sun, Jun 14, 2009 at 9:33 AM, Elliott Slaughter <
elliottslaughter at gmail.com> wrote:

> On Sun, Jun 14, 2009 at 10:29 AM, Luís Oliveira <luismbo at gmail.com> wrote:
>
>> On Fri, Jun 12, 2009 at 9:24 PM, Elliott
>> Slaughter<elliottslaughter at 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")

-- 
Elliott Slaughter

"Don't worry about what anybody else is going to do. The best way to predict
the future is to invent it." - Alan Kay
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/cffi-devel/attachments/20091221/f147af92/attachment.html>


More information about the cffi-devel mailing list