Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP


Missing rb_method_boundp from MRI API #1145

rhinton opened this Issue · 4 comments

5 participants


I'm trying to use the xmlparser gem. "gem install xmlparser" worked fine, but I got the following error when I tried to run it.

$ rbx-e "require 'xml/parser'"
An exception occurred evaluating command line code
Could not open library /user/rhinton/.rvm/gems/rbx-1.2.4-20110705/gems/xmlparser-0.6.81/lib/ - /user/rhinton/.rvm/gems/rbx-1.2.4-20110705/gems/xmlparser-0.6.81/lib/ undefined symbol: rb_method_boundp (LoadError::InvalidExtensionError)

Rubinius::NativeMethod.load_extension at kernel/common/native_method.rb:26
... (available if helpful)

Here are my system specs.

$ uname -a
Linux 2.6.18-194.11.3.el5 #1 SMP Mon Aug 30 16:19:16 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux

$ rbx -v
rubinius 1.2.4 (1.8.7 release 2011-07-05) [x86_64-unknown-linux-gnu]

The xmlparser gem is version 0.6.81. Any help is greatly appreciated!

  • Ryan

rb_method_boundp is really an internal MRI function. I'm not happy to see a C ext using it. We implement as many MRI "C-API" (quotes because there is no such thing defined) as we reasonably can, but I wonder if the lib should be changed to not use this function.

I'll let Evan decide whether we should implement it or not.


The xmlparser gem hasn't been updated since 2007 and won't compile under MRI 1.9 either, so I think Rubinius is unlikely to implement an internal MRI function for its sake.


Can we close this, then?


I've added rb_method_boundp, whether it's private or not is kind of debatable here (as always), since it's part of intern.h.

The xmlparser gem won't be able to load still though, since it tries to define a C int as a Ruby constant, which you can't do in Rubinius and apparently get away with in MRI.

@dbussink dbussink closed this in 974e6a9
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.