Subject: [ruby-ffi] Re: newbie question ffi on OsX |
From: macarthy |
Date: 3/23/10 8:59 AM |
To: ruby-ffi |
Done - feel free to improve it http://wiki.github.com/ffi/ffi/using-ruby-ffi-on-osx-with-mixed-architectures-universal-binaries Justin On Mar 10, 9:46 am, Wayne Meissner <wmeiss...@gmail.com> wrote:
You are now the honorary universal binary expert for ruby-ffi on MacOS. Turn your email thread into a FAQ and put it up on the wiki. On 10 March 2010 00:56, macarthy <justin.maccar...@gmail.com> wrote:Answering my own question, since I can't recompile the lib as 64bit I was able to run ruby as 32 bit and ffi works fine, Commands and output below.$ lipo -info /usr/local/lib/libmylib.dylib Non-fat file: /usr/local/lib/libmylib.dylib is architecture: i386$ lipo -detailed_info /usr/bin/ruby Fat header in: /usr/bin/ruby fat_magic 0xcafebabe nfat_arch 3 architecture x86_64 cputype CPU_TYPE_X86_64 cpusubtype CPU_SUBTYPE_X86_64_ALL offset 4096 size 14176 align 212 (4096) architecture i386 cputype CPU_TYPE_I386 cpusubtype CPU_SUBTYPE_I386_ALL offset 20480 size 14112 align 212 (4096) architecture ppc7400 cputype CPU_TYPE_POWERPC cpusubtype CPU_SUBTYPE_POWERPC_7400 offset 36864 size 13904 align 212 (4096)$ arch -arch i386 /usr/bin/ruby libmylib.rbHi all,Can someone explain this error ? Obviously an architecture mismatch of some sort, how does one got about fixing this? Or compile libmylib as a different arch (or as several ? )/Library/Ruby/Gems/1.8/gems/ffi-0.6.2/lib/ffi/library.rb:61:in `ffi_lib': Could not open library 'libmylib.dylib': dlopen(libmylib.dylib, 9): no suitable image found. Did find: (LoadError)/usr/local/lib/libmylib.dylib: mach-o, but wrong architecture. Could not open library 'libmylib': dlopen(libmylib, 9): image not found from /Library/Ruby/Gems/1.8/gems/ffi-0.6.2/lib/ffi/library.rb: 43:in `map' from /Library/Ruby/Gems/1.8/gems/ffi-0.6.2/lib/ffi/library.rb: 43:in `ffi_lib' from xxx.rb:14otool gives me this ...otool -h /usr/local/lib/libmylib.dylib/usr/local/lib/libmylib.dylib: Mach header magic cputype cpusubtype caps filetype ncmds sizeofcmds flags 0xfeedface 7 3 0x00 6 20 2404 0x00118085Thanks
To unsubscribe from this group, send email to ruby-ffi+unsubscribegooglegroups.com or reply to this email with the words "REMOVE ME" as the subject.