Use FFI to dynamically load shared library on Mac OS 10.5
Smalltalk at JGFoster.net
Fri Jan 18 21:41:07 UTC 2008
Thanks for the comments. 'SmalltalkImage current listLoadedModules'
does not include my library. Since the code runs on other platforms
(Linux/Windows), I think that the address could be found. Also, the
handle is nil when I inspect the object. Interestingly, the
#forceLoading method does not report any error--even if I give the
GciLibrary new forceLoading handle. "@ 16r00000000"
FFITestLibrary new forceLoading handle. "@ 16r0028C830"
On Jan 18, 2008, at 1:01 PM, Joshua Gargus wrote:
> The problem may not be that you aren't loading the library, it may
> be that you're not finding the address of the function within the
> library. If you execute 'Smalltalk listLoadedModules' after a
> failed invocation attempt, does your shared library show up in the
> On Jan 18, 2008, at 12:55 PM, James Foster wrote:
>> I'm trying to dynamically load a shared library (.so) and
>> consistently get "Unable to find function address." I have tried
>> putting the library in a variety of locations (next to the
>> executable, next to the image, next to the FFI package, etc.) and I
>> have set the environment variable DYLD_LIBRARY_PATH to the location
>> of the library. Nothing seems to work (although the FFI tests all
>> pass). Any advice?
>> James Foster
More information about the Squeak-dev