Syck 0.51 and RubyGems 0.8.8 problem

D

Dmitry V. Sabanin

I've updated Syck to 0.51 after getting segfaults with old YAML parser
with Rails. It worked fine and I like it. But after this, I can't use
rubygems anymore. This is what I get when I'm trying to install it:

Successfully built RubyGem
Name: sources
Version: 0.0.1
File: sources-0.0.1.gem
hook /home/software/ruby/rubygems/post-install.rb failed:
undefined method `full_name' for nil:NilClass
Try 'ruby setup.rb --help' for detailed usage.

After spending two hours in RubyGems internals I wrote following code
that shows my problem:
spec.class == Gem::Specification
# Trying to dump Gem::Specification instance to YAML
src = YAML::dump(spec)
res = YAML::load(src)
res.class == Object
# This is why everything goes insane:
spec.class != res.class

It seems to me that Syck 0.51 couldn't properly instantiate class from
the dump, and Gems had no idea that this could happen.

Any ideas how to fix that? This problem is really made me stuck.
 
W

why the lucky stiff

Dmitry said:
It seems to me that Syck 0.51 couldn't properly instantiate class from
the dump, and Gems had no idea that this could happen.
The Syck 0.51 loader is unfinished. It is only barely usable. The core
is much stabler, but due to API changes, the Ruby extension has required
a partial rewrite. I'm very close to another release. I'll let you
know when I have a release candidate in CVS.

_why
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,581
Members
45,056
Latest member
GlycogenSupporthealth

Latest Threads

Top