dark-panda / ffi-geos

ffi-geos is an implementation of the GEOS Ruby bindings in Ruby via FFI.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Library does not load under Rubinius

dazuma opened this issue · comments

I expect you already know about this, but just in case:

rbx-1.2.3-20110315 :001 > RUBY_DESCRIPTION
 => "rubinius 1.2.3 (1.8.7 release 2011-03-15 JI) [x86_64-apple-darwin10.7.4]" 
rbx-1.2.3-20110315 :002 > require 'rubygems'
 => true 
rbx-1.2.3-20110315 :003 > require 'ffi-geos'
NoMethodError: undefined method `enum' on Geos::FFIGeos (Module)
   from Kernel(Module)#enum (method_missing) at kernel/delta/kernel.rb:85
   from Geos::FFIGeos.__module_init__ (FFIGeos) at /Users/dazuma/.rvm/gems/rbx-1.2.3-20110315/gems/ffi-geos-0.0.1.beta2/lib/ffi-geos.rb:77
   from Geos.__module_init__ (Geos) at /Users/dazuma/.rvm/gems/rbx-1.2.3-20110315/gems/ffi-geos-0.0.1.beta2/lib/ffi-geos.rb:47
   from main.__script__ at /Users/dazuma/.rvm/gems/rbx-1.2.3-20110315/gems/ffi-geos-0.0.1.beta2/lib/ffi-geos.rb:5
   from Rubinius::CodeLoader.require at kernel/common/codeloader.rb:145
   from Kernel(Object)#gem_original_require (require) at kernel/common/kernel.rb:779
   from Kernel(Object)#require at /Users/dazuma/.rvm/rubies/rbx-1.2.3-20110315/lib/rubygems/custom_require.rb:32
   from { } in Object#irb_binding at (irb):3
commented

Known issue with Rubinius' ffi implementation. We're relying on enums for easy Ruby-ish Symbol-based enums. I'll leave this issue open just for tracking purposes, though.

See https://github.com/evanphx/rubinius/issues/682 for details.

Fixed in RBX - the platform was modified to work with the bastardized FFI gem we all love and use, so anything that runs on MRI should run on Rubinius. Thread safety is a concern however (we dont have a GIL, so libraries must be threadsafe).

commented

This appears to load now in the latest releases.