bleskodev / rubyripper

Fork of the original rubyripper from code.google.com/p/rubyripper + some bugs fixes
125 stars 21 forks source link

The ruby-gtk3 library could not be found #627

Closed jdrexmo closed 3 years ago

jdrexmo commented 3 years ago

Manjaro KDE user here. I had Rubyripper 0.7.0rc2-4 installed via AUR but a few weeks ago the GUI stopped loading. I reinstalled by making 0.8.0rc1 from github but rrip_gui yields: The ruby-gtk3 library cound not be found. Is it installed? ruby-gtk3 is installed and current (3.4.3-1). Any guesses why it can't be found?

bleskodev commented 3 years ago

Hi, interesting, I'm Arch user myself... If you run without installation (in the github folder, run with ./bin/rubyripper_gtk3) what happens?

jdrexmo commented 3 years ago

Hi, interesting, I'm Arch user myself... If you run without installation (in the github folder, run with ./bin/rubyripper_gtk3) what happens?

Same result.

bleskodev commented 3 years ago

Can you post a list of gems you have installed (output of 'gem list')? As you are KDE user, do you have any other GTK3 application installed (even if it is not Ruby application)? Can you check that this application works?

jdrexmo commented 3 years ago
*** LOCAL GEMS ***

atk (3.4.3)
benchmark (default: 0.1.0)
bigdecimal (default: 2.0.0)
cairo (1.17.5)
cairo-gobject (3.4.3)
cgi (default: 0.1.0)
csv (default: 3.1.2)
date (default: 3.0.0)
dbm (default: 1.1.0)
delegate (default: 0.1.0)
did_you_mean (default: 1.4.0)
etc (default: 1.1.0)
fcntl (default: 1.0.0)
fiddle (default: 1.0.0)
fileutils (default: 1.4.1)
forwardable (default: 1.3.1)
gdbm (default: 2.1.0)
gdk3 (3.4.3)
gdk_pixbuf2 (3.4.3)
getoptlong (default: 0.1.0)
gettext (3.3.7)
gio2 (3.4.3)
glib2 (3.4.3)
gobject-introspection (3.4.3)
gtk3 (3.4.3)
iconv (1.0.8)
io-console (default: 0.5.6)
ipaddr (default: 1.2.2)
irb (1.3.0)
json (default: 2.3.0)
locale (2.1.3)
logger (default: 1.4.2)
matrix (default: 0.2.0)
mutex_m (default: 0.1.0)
native-package-installer (1.1.1)
net-pop (default: 0.1.0)
net-smtp (default: 0.1.0)
observer (default: 0.1.0)
open3 (default: 0.1.0)
openssl (default: 2.1.2)
ostruct (default: 0.2.0)
pango (3.4.3)
pkg-config (1.4.1)
prime (default: 0.1.1)
pstore (default: 0.1.0)
psych (default: 3.1.0)
racc (default: 1.4.16)
readline (default: 0.0.2)
readline-ext (default: 0.1.0)
reline (0.2.2, default: 0.1.5)
rexml (default: 3.2.3)
rss (default: 0.2.8)
sdbm (default: 1.0.0)
singleton (default: 0.1.0)
stringio (default: 0.1.0)
strscan (default: 1.0.3)
text (1.3.1)
timeout (default: 0.1.0)
tracer (default: 0.1.0)
uri (default: 0.10.0)
webrick (default: 1.6.0)
yaml (default: 0.1.0)
zlib (default: 1.1.0)

Not sure about other GTK3 applications, partly because I'm just slightly out of my depth here. Pacman shows nothing dependent on ruby-gtk3. The regular gtk3 package has several dependent packages including programs I use often, even daily (firefox, audacity, deluge, handbrake).

bleskodev commented 3 years ago

Can you try to replace locally in bin/rubyripper_gtk3 file (starting at line 36) the begin/end section which loads gtk3 with the code below and post what is printed out on the console, please?

# Try to load the gtk3 files
begin
  require 'gtk3'
rescue LoadError => e
  puts e.message
  puts e.backtrace.inspect
  puts "The ruby-gtk3 library could not be found. Is it installed?"; exit()
end
bleskodev commented 3 years ago

After you changed the code, you run rubyripper locally with ./bin/rubyripper_gtk3 of course.

jdrexmo commented 3 years ago

After you changed the code, you run rubyripper locally with ./bin/rubyripper_gtk3 of course.

Thank you, I did need that detail! Output was:

Could not find 'red-colors' (>= 0) among 64 total gem(s)
Checked in 'GEM_PATH=/home/joey/.local/share/gem/ruby/2.7.0:/usr/lib/ruby/gems/2.7.0' at: /usr/lib/ruby/gems/2.7.0/specifications/cairo-1.17.5.gemspec, execute `gem env` for more information
["/usr/lib/ruby/2.7.0/rubygems/specification.rb:1402:in `rescue in block in activate_dependencies'", "/usr/lib/ruby/2.7.0/rubygems/specification.rb:1399:in `block in activate_dependencies'", "/usr/lib/ruby/2.7.0/rubygems/specification.rb:1388:in `each'", "/usr/lib/ruby/2.7.0/rubygems/specification.rb:1388:in `activate_dependencies'", "/usr/lib/ruby/2.7.0/rubygems/specification.rb:1370:in `activate'", "/usr/lib/ruby/2.7.0/rubygems/specification.rb:1406:in `block in activate_dependencies'", "/usr/lib/ruby/2.7.0/rubygems/specification.rb:1388:in `each'", "/usr/lib/ruby/2.7.0/rubygems/specification.rb:1388:in `activate_dependencies'", "/usr/lib/ruby/2.7.0/rubygems/specification.rb:1370:in `activate'", "/usr/lib/ruby/2.7.0/rubygems/specification.rb:1406:in `block in activate_dependencies'", "/usr/lib/ruby/2.7.0/rubygems/specification.rb:1388:in `each'", "/usr/lib/ruby/2.7.0/rubygems/specification.rb:1388:in `activate_dependencies'", "/usr/lib/ruby/2.7.0/rubygems/specification.rb:1370:in `activate'", "/usr/lib/ruby/2.7.0/rubygems/specification.rb:1406:in `block in activate_dependencies'", "/usr/lib/ruby/2.7.0/rubygems/specification.rb:1388:in `each'", "/usr/lib/ruby/2.7.0/rubygems/specification.rb:1388:in `activate_dependencies'", "/usr/lib/ruby/2.7.0/rubygems/specification.rb:1370:in `activate'", "/usr/lib/ruby/2.7.0/rubygems.rb:221:in `rescue in try_activate'", "/usr/lib/ruby/2.7.0/rubygems.rb:214:in `try_activate'", "/usr/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:153:in `rescue in require'", "/usr/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:149:in `require'", "./bin/rubyripper_gtk3:38:in `<main>'"]
The ruby-gtk3 library could not be found. Is it installed?

ETA output of "gem env", fwiw:

RubyGems Environment:
  - RUBYGEMS VERSION: 3.2.7
  - RUBY VERSION: 2.7.2 (2020-10-01 patchlevel 137) [x86_64-linux]
  - INSTALLATION DIRECTORY: /usr/lib/ruby/gems/2.7.0
  - USER INSTALLATION DIRECTORY: /home/joey/.local/share/gem/ruby/2.7.0
  - RUBY EXECUTABLE: /usr/bin/ruby
  - GIT EXECUTABLE: /usr/bin/git
  - EXECUTABLE DIRECTORY: /usr/bin
  - SPEC CACHE DIRECTORY: /home/joey/.local/share/gem/specs
  - SYSTEM CONFIGURATION DIRECTORY: /etc
  - RUBYGEMS PLATFORMS:
     - ruby
     - x86_64-linux
  - GEM PATHS:
     - /usr/lib/ruby/gems/2.7.0
     - /home/joey/.local/share/gem/ruby/2.7.0
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
     - "gem" => "--user-install"
  - REMOTE SOURCES:
     - https://rubygems.org/
  - SHELL PATH:
     - /home/joey/.local/bin
     - /usr/local/sbin
     - /usr/local/bin
     - /usr/bin
     - /usr/lib/jvm/default/bin
     - /usr/bin/site_perl
     - /usr/bin/vendor_perl
     - /usr/bin/core_perl
     - /var/lib/snapd/snap/bin
bleskodev commented 3 years ago

I don't know if you managed to solve the problem but here is my analysis (including what I'm seeing on my machine):

  1. you are missing 'red-colors' gem
  2. this gem is required by 'cairo' gem
  3. 'cairo' gem installed via pacman (ruby-cairo) does not include this dependency and does not install it (I suppose this is a bug in the Arch package)
  4. 'cairo' gem installed via 'gem install' (from ruby repositories) has the correct dependency and pulls in correctly the 'red-colors' gem
  5. I don't have your problem because I have 'red-colors' gem (within my $HOME/.gems folder) because I have installed 'cairo' gem 'manually' (via gem install) at some point, probably pulled in by some other gem, like 'gtk2' or something
  6. It seems ruby-red-colors package does not exist in arch package repositories

So, the solution for you would be to do (in your terminal): gem install red-colors

I hope this helps!

jdrexmo commented 3 years ago

Thanks, that seems to have done it! I was bracing myself for the command line to tell me one at a time that I was missing several gems but nope, just the one. Thanks for the help!