FS#34437 - [rubyripper] GUI doesn't start anymore

Attached to Project: Community Packages
Opened by Steffen Weber (boenki) - Sunday, 24 March 2013, 05:54 GMT
Last edited by Dave Reisner (falconindy) - Tuesday, 16 April 2013, 12:44 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Dave Reisner (falconindy)
Architecture All
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:
since todays update of ruby and dependant pkgs rubyrippers GUI doesn't start anymore

[2013-03-24 06:46] Running 'pacman -Syu'
[2013-03-24 06:46] synchronizing package lists
[2013-03-24 06:46] starting full system upgrade
[2013-03-24 06:46] upgraded ruby (1.9.3_p392-1 -> 2.0.0_p0-1)
[2013-03-24 06:46] upgraded ruby-glib2 (1.2.2-1 -> 1.2.2-2)
[2013-03-24 06:46] upgraded ruby-atk (1.2.2-1 -> 1.2.2-2)
[2013-03-24 06:46] upgraded ruby-cairo (1.12.2-3 -> 1.12.2-4)
[2013-03-24 06:46] upgraded ruby-gdkpixbuf2 (1.2.2-1 -> 1.2.2-2)
[2013-03-24 06:46] upgraded ruby-pango (1.2.2-1 -> 1.2.2-2)
[2013-03-24 06:46] upgraded ruby-gtk2 (1.2.2-1 -> 1.2.2-2)
[2013-03-24 06:46] upgraded rubyripper (0.6.2-2 -> 0.6.2-3)
[boenki ~]$ rrip_gui
ruby-gettext is not found. Translations are disabled!
The ruby-gtk2 library could not be found. Is it installed?
This task depends upon

Closed by  Dave Reisner (falconindy)
Tuesday, 16 April 2013, 12:44 GMT
Reason for closing:  Not a bug
Additional comments about closing:  Not a bug in rubyripper
Comment by Dave Reisner (falconindy) - Sunday, 24 March 2013, 19:07 GMT
Looks like a problem with ruby-cairo, not rubyripper.

$ irb
irb(main):001:0> require "gtk2"
LoadError: /usr/lib/ruby/vendor_ruby/2.0.0/x86_64-linux/pango.so: undefined symbol: rb_cCairo_Context - /usr/lib/ruby/vendor_ruby/2.0.0/x86_64-linux/pango.so
from /usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
from /usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
from /usr/lib/ruby/vendor_ruby/2.0.0/pango.rb:28:in `rescue in <top (required)>'
from /usr/lib/ruby/vendor_ruby/2.0.0/pango.rb:24:in `<top (required)>'
from /usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
from /usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
from /usr/lib/ruby/vendor_ruby/2.0.0/gtk2/base.rb:14:in `<top (required)>'
from /usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
from /usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
from /usr/lib/ruby/vendor_ruby/2.0.0/gtk2.rb:11:in `<top (required)>'
from /usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
from /usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
from (irb):1
from /usr/bin/irb:12:in `<main>'
irb(main):002:0> require "cairo"
LoadError: cannot load such file -- cairo.so
from /usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
from /usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
from /usr/lib/ruby/vendor_ruby/2.0.0/cairo.rb:46:in `rescue in <top (required)>'
from /usr/lib/ruby/vendor_ruby/2.0.0/cairo.rb:42:in `<top (required)>'
from /usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
from /usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
from (irb):2
from /usr/bin/irb:12:in `<main>'

The cairo gem directly installed via "gem" works (and rrip_gui works as well), so this seems like a packaging bug with ruby-cairo. Reassigning.
Comment by Alexander F. Rødseth (xyproto) - Monday, 25 March 2013, 10:31 GMT
Hi, thanks for reporting. I'm on it.
Comment by Alexander F. Rødseth (xyproto) - Monday, 25 March 2013, 11:08 GMT
Even after installing both cairo and pango with these commands:
sudo gem install --development cairo
sudo gem install --development pango

It still does not work for me:
% irb
irb(main):001:0> require "gtk2"
LoadError: /usr/lib/ruby/vendor_ruby/2.0.0/x86_64-linux/pango.so: undefined symbol: rb_cCairo_Context - /usr/lib/ruby/vendor_ruby/2.0.0/x86_64-linux/pango.so
from /usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
from /usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
from /usr/lib/ruby/vendor_ruby/2.0.0/pango.rb:28:in `rescue in <top (required)>'
from /usr/lib/ruby/vendor_ruby/2.0.0/pango.rb:24:in `<top (required)>'
from /usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
from /usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
from /usr/lib/ruby/vendor_ruby/2.0.0/gtk2/base.rb:14:in `<top (required)>'
from /usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
from /usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
from /usr/lib/ruby/vendor_ruby/2.0.0/gtk2.rb:11:in `<top (required)>'
from /usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
from /usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
from (irb):1
from /usr/bin/irb:12:in `<main>'
irb(main):002:0>

How did you install the gems?
Comment by Dave Reisner (falconindy) - Monday, 25 March 2013, 12:28 GMT
Using sudo is wrong (it'll install the gem to /root/.gem), and I've no idea what the --development flag does. Just "gem install cairo".
Comment by Alexander F. Rødseth (xyproto) - Monday, 25 March 2013, 12:47 GMT
Note that this has been an issue before without it being a packaging bug: https://github.com/v01d/pacman-notifier/issues/4
Comment by Dave Reisner (falconindy) - Monday, 25 March 2013, 13:02 GMT
I'm not sure what to say to that. The gem works, your package does not. pango is not at all involved here except that it happens to be what has the require 'cairo' line.

The root of the problem here was nicely illustrated in the IRB backtrace I posted:

LoadError: cannot load such file -- cairo.so

cairo.so does not exist in community/ruby-cairo. Installing the gem causes the shared lib to be built and installed properly.
Comment by Jeremy (loserMcloser) - Monday, 25 March 2013, 22:45 GMT
I'm no Makefile guru, but could these two lines be the problem?

Makefile:238: warning: overriding recipe for target `install-so'
Makefile:182: warning: ignoring old recipe for target `install-so'

(These appear twice during a makepkg for ruby-cairo...)
Comment by Jeremy (loserMcloser) - Monday, 25 March 2013, 22:51 GMT
Adding

install ext/cairo/cairo.so ${pkgdir}/usr/lib/ruby/vendor_ruby/2.0.0/x86_64-linux/

to the package() routine of the PKGBUILD fixes the problem, but is obviously an ugly hack.
Comment by Jeremy (loserMcloser) - Monday, 25 March 2013, 22:52 GMT
Oops, that should be

install ext/cairo/cairo.so ${pkgdir}/usr/lib/ruby/vendor_ruby/2.0.0/${arch}-linux/
Comment by Alexander F. Rødseth (xyproto) - Wednesday, 27 March 2013, 11:34 GMT
@falconindy The gem working is not a guarantee for that it's a packaging problem instead of a problem with the released tarball. I think this is an upstream issue.

Jeremy, thank you, I'll implement the suggestion.
Comment by Alexander F. Rødseth (xyproto) - Wednesday, 27 March 2013, 11:47 GMT
I've had a proper cold for a few days, so sorry for the slight delay on this fix.

Jeremy, added your name as a contributor to the PKGBUILD.

The updated package will appear in [community] shortly.
Comment by Steffen Weber (boenki) - Monday, 15 April 2013, 01:57 GMT
  • Field changed: Percent Complete (100% → 0%)
The initial reason for this bug report is not yet solved:

[boenki ~]$ pacman -Qs ruby-cairo
local/ruby-cairo 1.12.2-6
Ruby bindings for cairo
[boenki ~]$ rrip_gui
ruby-gettext is not found. Translations are disabled!
The ruby-gtk2 library could not be found. Is it installed?

Original title was
[rubyripper] gui does not start.

and that still does not work
Comment by Steffen Weber (boenki) - Monday, 15 April 2013, 06:35 GMT
I just see this task is reopened:
But it was fixed after this bugreport
 FS#34500  - [ruby-cairo] cairo.so in wrong $arch

Comment by Alexander F. Rødseth (xyproto) - Monday, 15 April 2013, 21:40 GMT
Unable to reproduce:

% irb
irb(main):001:0> require "gtk2"
=> true
irb(main):002:0>

Applications like "rubyroom" from AUR work too.

If this is still a problem, I believe it's a problem with rubyripper.
Comment by Dave Reisner (falconindy) - Tuesday, 16 April 2013, 01:30 GMT
This still isn't a rubyripper problem.
Comment by Steffen Weber (boenki) - Tuesday, 16 April 2013, 06:17 GMT
Hi, as I already said, this IS FIXED!

>I just see this task is reopened:
>But it was fixed after this bugreport
>  FS#34500  - [ruby-cairo] cairo.so in wrong $arch

I asked to reopen, because rubyripper did not start at that time. When I found the reason, I could not change my comment here, but opend  FS#34500  instead.

I'm sorry for the trouble. :)
Comment by Alexander F. Rødseth (xyproto) - Tuesday, 16 April 2013, 10:20 GMT
Dave, this wasn't a problem with ruby-gtk2 or ruby-cairo at the time you assigned the bug to me. Assigning back to you. Close the bug instead.

Loading...