I emerged app-misc/alexandria-0.6.1 (using keyword ~x86) and when I tried to run it, it failed to run with the following error: (eval):1: [BUG] rbgobj_define_class: Invalid gtype [CanvasPathDef] I googled for the error message and found a solution (http://rubyforge.org/pipermail/alexandria-list/2006-February.txt), which is that alexandria 0.6.1 needs ruby-gnome2 0.14.0 or more recent to run. Emerging alexandria had installed ruby-gnome2 0.12.0 (which is the most recent stable e-build), so I edited my /etc/portage/package.keywords to contain the following: app-misc/alexandria ~x86 dev-ruby/ruby-zoom ~x86 dev-ruby/ruby-gnome2 ~x86 dev-ruby/ruby-gtk2 ~x86 dev-ruby/ruby-pango ~x86 dev-ruby/ruby-glib2 ~x86 dev-ruby/ruby-atk ~x86 dev-ruby/ruby-gnomecanvas2 ~x86 dev-ruby/ruby-libart2 ~x86 And after I re-emerged alexandria it ran perfectly. I think this means that the ebuild for alexandria-0.6.1 should have ruby-gnome2-0.14.1 as a dependency.
That's what you get when mixing stable and ~arch versions.
(In reply to comment #1) > That's what you get when mixing stable and ~arch versions. > I guess I didn't express myself clearly enough :/ I felt the expected behaviour was that emerge should fail with a warning that there was a dependency required which was masked by the keyword ~x86. This is what has happened with other similar cases (for instance ruby-gnome2 itself). However, alexandria was emerged DESPITE its requirement for a newer version of ruby-gnome2.
What I was trying to say is that mixing stable and ~arch ebuilds is generally not a good idea... If you want to use ~arch, use it everywhere, or at least put all the dependencies of the respective ebuild into package.keywords as well. Otherwise, breakage can be expected. :)
changed the dep in portage - thanks for the report.