<div dir="ltr"><p>I&#39;m working on an SDL binding for PLT Scheme, and could use a hand understanding some error messages.</p><p>As it currently stands I&#39;m using (require scheme/foreign)(unsafe!) in two seperate modules, sdl and sdl-gfx. I&#39;m using (provide (all-defined-out)) across the board. When both of the aforementioned modules are <b>require</b>d at the same time, say as might be done in &quot;display-test&quot; module, scheme complains about ffi-lib already being imported from a different source. For me this has occured in any situation where I have multiple modules that are defining foreign libraries.</p>

<p>Removing (unsafe!) from the scheme/foreign import, and placing all the foreign library definitions defined with ffi-lib within a single module clears this up however. Is (unsafe!) introducing new bindings into the lexical context of the module, and if so is the proper solution to abandon (all-defined-out) for something more specific?</p>

<p>-- Levi Smith</p></div>