Justin, Yep: ~ → nm /usr/local/lib/libvirt.dylib | grep Thread 00000000001aec20 d _virTLSThreadImpl 0000000000011fd0 T _virThreadInitialize 0000000000012000 T _virThreadLocalGet 0000000000012010 T _virThreadLocalInit 0000000000011ff0 T _virThreadLocalSet 0000000000011fe0 T _virThreadOnExit And here is the output when running the test ruby file with DYLD_PRINT_LIBRARIES on, gisted since its quite long, but you can see libvirt in it prior to running the Ruby FFI code: https://gist.github.com/e90831db740cb0bff563 Any ideas? Mitchell On Fri, Oct 8, 2010 at 1:50 AM, Justin Clift <jclift@xxxxxxxxxx> wrote: > On 10/08/2010 07:36 PM, Mitchell Hashimoto wrote: >> >> Justin, >> >> I saw your commit into homebrew and I am actually trying that. Like I >> said, statically linking it to a test C program I wrote worked fine, >> but working over FFI and dynamically loading it failed with the quoted >> error message. I'm unsure how to proceed at this point. :) > > No worries. Does "_virThreadInitialize" exist in the dynamic library > on your system? > > $ nm /usr/local/lib/libvirt.dylib | grep Thread > 00000000001a9c40 d _virTLSThreadImpl > 00000000000125d0 T _virThreadInitialize > 0000000000012600 T _virThreadLocalGet > 0000000000012610 T _virThreadLocalInit > 00000000000125f0 T _virThreadLocalSet > 00000000000125e0 T _virThreadOnExit > $ > > Guessing it probably does, but figured it's worth checking. :) > > Regards and best wishes, > > Justin Clift >