Missing features in ruby ​​1.8

I have a ruby ​​stone that I developed with ruby ​​1.9 and it works. However, with ruby ​​1.8, this says it when I try to run it:

dyld: lazy symbol binding failed: Symbol not found: _RBIGNUM_SIGN
  Referenced from: /Users/Adrian/Desktop/num_to_bytes/ext/num_to_bytes/num_to_bytes.bundle
  Expected in: flat namespace

dyld: Symbol not found: _RBIGNUM_SIGN
  Referenced from: /Users/Adrian/Desktop/num_to_bytes/ext/num_to_bytes/num_to_bytes.bundle
  Expected in: flat namespace

Trace/BPT trap

      

If I comment out the line using RBIGNUM_SIGN

it complains about other features like rb_big_modulo

. Some things work, for example NUM2LONG

. Here are some things I've tried:

  • In http://github.com/ruby/ruby/blob/ruby_1_8_7/ruby.h , RBIGNUM_SIGN

    . But in all versions of the ruby ​​I have tried, it is not there.
  • I guessed that it might have been defined in another .h file. Knowing that Hpricot works with 1.8, I looked at http://github.com/hpricot/hpricot/blob/master/ext/hpricot_scan/hpricot_scan.h . It does not contain any other files that are #define.
  • Putting things like extern VALUE rb_big_modulo(VALUE x);

    at the beginning of my expansion doesn't help.
  • Using a fresh Ubuntu install, I apt-get

    ted ruby ​​tried to install the gem and it didn't work either.
  • The tab have_library 'ruby', 'rb_big_modulo'

    in my extconf.rb is not working.

As you can probably see, I am desperate (after weeks of trying!). So how can I get this to work?

Here's a gem: http://rubygems.org/gems/num_to_bytes

Here is the source: http://gist.github.com/404584

+2


a source to share


2 answers


  • To RBIGNUM_SIGN

    define it again in the source.
  • For rb_big_modulo(x, y)

    use rb_funcall(x, '%', 1, y)

    .


0


a source


You can try using the backports gem. This provides some of the functionality of the new ruby ​​versions for the old ruby ​​interpreters.



0


a source







All Articles