Ruby 1.8.6 Source and Debian Apt-Get Upgrades

Hi,

I am hoping to get some advice with a problem I have gotten myself into;

I upgraded my packages using apt-get yesterday and have found an issue with my installed (source built) version of Ruby 1.8.6. I am wondering if the update has interfered with my version of ruby as some of my rails projects no longer load correctly.

Error:
NoMethodError (undefined method `fdiv' for 0:Fixnum):
     /usr/lib/ruby/1.8/yaml/rubytypes.rb:146:in `is_binary_data?'
     /usr/lib/ruby/1.8/yaml/rubytypes.rb:165:in `to_yaml'
     /usr/lib/ruby/1.8/yaml.rb:391:in `call'
     /usr/lib/ruby/1.8/yaml.rb:391:in `emit'
     /usr/lib/ruby/1.8/yaml.rb:391:in `quick_emit'
     ...

RubyGems Environment is I think still showing the right info:
   - RUBYGEMS VERSION: 0.9.5 (0.9.5)
   - RUBY VERSION: 1.8.6 (2007-09-24 patchlevel 111) [i686-linux]
   - INSTALLATION DIRECTORY: /usr/lib/ruby/gems/1.8
   - RUBY EXECUTABLE: /usr/bin/ruby
   - RUBYGEMS PLATFORMS:
     - ruby
     - x86-linux
   - GEM PATHS:
      - /usr/lib/ruby/gems/1.8

dpkg --get-selections shows:
ruby1.8 install
ruby1.8-dev install

Ruby -v shows:
ruby 1.8.6 (2007-09-24 patchlevel 111) [i686-linux]

apt-cache show ruby1.8:
Package: ruby1.8
Priority: optional
Section: interpreters
Installed-Size: 356
Maintainer: akira yamada <akira@debian.org>
Architecture: i386
Version: 1.8.7.72-3
Depends: libc6 (>= 2.7-1), libruby1.8 (>= 1.8.7.72)
Suggests: ruby1.8-examples, rdoc1.8, ri1.8

As you can see I am pretty confused about what has happened.

Is it possible apt-get broke something in this situation?
Would a reinstall of ruby from source as I am now considering be a good idea to take at this stage?

Unfortunately I need to stick with RubyGems .9 and Ruby 1.8.6 for now for my current projects - so I can't just upgrade to 1.8.7 with apt-get.

Any advice or suggestions greatly appreciated.

Many thanks,

Dominic

According to http://www.ruby-doc.org/core/classes/Fixnum.html
there is no method called Fixnum#fdiv().
It seems that you have a yaml.rb of version 1.8.7.
Try to reinstall your ruby version.

Just a guess: maybe you have defined stable in /etc/apt/sources.list
and debian changed the version "stable" from etch to lenny.
IIRC then there are two possible fixes:
1) "apt-get dist-upgrade"
2) change the "stable" keywords to "etch" or "lenny" in /etc/apt/sources.list

hth. regards, Sandor Szücs

···

On 17.02.2009, at 17:39, subsorama@gmail.com wrote:

I upgraded my packages using apt-get yesterday and have found an issue with my installed (source built) version of Ruby 1.8.6. I am wondering if the update has interfered with my version of ruby as some of my rails projects no longer load correctly.

Error:
NoMethodError (undefined method `fdiv' for 0:Fixnum):
   /usr/lib/ruby/1.8/yaml/rubytypes.rb:146:in `is_binary_data?'
   /usr/lib/ruby/1.8/yaml/rubytypes.rb:165:in `to_yaml'
   /usr/lib/ruby/1.8/yaml.rb:391:in `call'
   /usr/lib/ruby/1.8/yaml.rb:391:in `emit'
   /usr/lib/ruby/1.8/yaml.rb:391:in `quick_emit'
   ...

RubyGems Environment is I think still showing the right info:
- RUBYGEMS VERSION: 0.9.5 (0.9.5)
- RUBY VERSION: 1.8.6 (2007-09-24 patchlevel 111) [i686-linux]

--