Расположение файлов библиотеки ruby-gtk2 перенесено в 17.10?

Я пытаюсь использовать Rubyripper (программу копирования компакт-дисков, которую можно загрузить здесь: http://code.google.com/p/rubyripper ) в Ubuntu 17.10. Это скрипт и куча файлов; Вы устанавливаете зависимости и запускаете скрипт. Я использовал его на многочисленных версиях Ubuntu, включая самую последнюю 17.04, без проблем. Я недавно недавно установил 17.10. (Я также пробовал это на другом компьютере, который я обновил с 17.04 по 17.10, с теми же результатами.)

Скрипт, который вы запускаете для использования Rubyripper, запускается так:

#!/usr/bin/env ruby
#    Rubyripper - A secure ripper for Linux/BSD/OSX
#    Copyright (C) 2007  Bouke Woudstra (rubyripperdev@gmail.com)

[snip: Licencing and disclaimer, etc.]

#    You should have received a copy of the GNU General Public License
#    along with this program.  If not, see <http://www.gnu.org/licenses/>

ICONDIR=[ENV['PWD'], "/usr/share/icons/hicolor/128x128/apps"]
RUBYDIR=[ENV['PWD'], File.dirname(__FILE__), "/usr/local/lib/site_ruby/2.3.0"]

found_rrlib = false
RUBYDIR.each do |dir|
  if File.exist?(file = File.join(dir, '/rr_lib.rb'))
    require file; found_rrlib = true ; break
  end
end
if found_rrlib == false
  puts "The main program logic file 'rr_lib.rb' can't be found!"
  exit()
end

begin
    require 'gtk2'
rescue LoadError
    puts "The ruby-gtk2 library could not be found. Is it installed?"; exit()
end

Когда я запускаю это, я получаю возврат The ruby-gtk2 library could not be found. Is it installed?. Пакет ruby-gtk2 определенно установлен:

rowand@desktop:~$ sudo apt-get install ruby-gtk2
Reading package lists... Done
Building dependency tree       
Reading state information... Done
ruby-gtk2 is already the newest version (3.1.8-6ubuntu1).
0 to upgrade, 0 to newly install, 0 to remove and 0 not to upgrade.

Я думаю, что происходит то, что местоположение соответствующего файла или файлов в соответствии с 17.10 отличается от того, что ожидает сценарий, и отличается от того, где они находятся. были до 17.04. Поэтому я попытался отредактировать следующую строку скрипта, сохранив ее, а затем снова запустив.

RUBYDIR=[ENV['PWD'], File.dirname(__FILE__), "/usr/local/lib/site_ruby/2.3.0"]

Основываясь на поисках /usr, я попробовал следующее:

RUBYDIR=[ENV['PWD'], File.dirname(__FILE__), "/usr/lib/ruby/vendor_ruby/2.3.0"]
RUBYDIR=[ENV['PWD'], File.dirname(__FILE__), "/usr/lib/ruby/vendor_ruby"]
RUBYDIR=[ENV['PWD'], File.dirname(__FILE__), "/usr/lib/ruby/vendor_ruby/gtk2"]
RUBYDIR=[ENV['PWD'], File.dirname(__FILE__), "/usr/lib/x86_64-linux-gnu/ruby/vendor_ruby/2.3.0"]

Ни один из них не работает. Я продолжаю получать ту же ошибку (The ruby-gtk2 library could not be found. Is it installed?).

Возвращается sudo dpkg -L ruby-gtk2:

/.
/usr
/usr/lib
/usr/lib/ruby
/usr/lib/ruby/vendor_ruby
/usr/lib/ruby/vendor_ruby/gtk2
/usr/lib/ruby/vendor_ruby/gtk2/base.rb
/usr/lib/ruby/vendor_ruby/gtk2.rb
/usr/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu/ruby
/usr/lib/x86_64-linux-gnu/ruby/vendor_ruby
/usr/lib/x86_64-linux-gnu/ruby/vendor_ruby/2.3.0
/usr/lib/x86_64-linux-gnu/ruby/vendor_ruby/2.3.0/gtk2.so
/usr/share
/usr/share/doc
/usr/share/doc/ruby-gtk2
/usr/share/doc/ruby-gtk2/README.Debian
/usr/share/doc/ruby-gtk2/copyright
/usr/share/doc/ruby-gtk2/examples
/usr/share/doc/ruby-gtk2/examples/gtk-demo
/usr/share/doc/ruby-gtk2/examples/gtk-demo/README
/usr/share/doc/ruby-gtk2/examples/gtk-demo/alphatest.png
/usr/share/doc/ruby-gtk2/examples/gtk-demo/apple-red.png
/usr/share/doc/ruby-gtk2/examples/gtk-demo/appwindow.rb
/usr/share/doc/ruby-gtk2/examples/gtk-demo/background.jpg
/usr/share/doc/ruby-gtk2/examples/gtk-demo/builder.rb
/usr/share/doc/ruby-gtk2/examples/gtk-demo/button_box.rb
/usr/share/doc/ruby-gtk2/examples/gtk-demo/cairo-arc-negative.rb
/usr/share/doc/ruby-gtk2/examples/gtk-demo/cairo-arc.rb
/usr/share/doc/ruby-gtk2/examples/gtk-demo/cairo-clip-image.rb
/usr/share/doc/ruby-gtk2/examples/gtk-demo/cairo-clip-rectangle.rb
/usr/share/doc/ruby-gtk2/examples/gtk-demo/cairo-clip.rb
/usr/share/doc/ruby-gtk2/examples/gtk-demo/cairo-curve-rectangle.rb
/usr/share/doc/ruby-gtk2/examples/gtk-demo/cairo-curve-to.rb
/usr/share/doc/ruby-gtk2/examples/gtk-demo/cairo-dash.rb
/usr/share/doc/ruby-gtk2/examples/gtk-demo/cairo-fill-and-stroke.rb
/usr/share/doc/ruby-gtk2/examples/gtk-demo/cairo-fill-and-stroke2.rb
/usr/share/doc/ruby-gtk2/examples/gtk-demo/cairo-gradient.rb
/usr/share/doc/ruby-gtk2/examples/gtk-demo/cairo-image-pattern.rb
/usr/share/doc/ruby-gtk2/examples/gtk-demo/cairo-image.rb
/usr/share/doc/ruby-gtk2/examples/gtk-demo/cairo-line-cap.rb
/usr/share/doc/ruby-gtk2/examples/gtk-demo/cairo-line-join.rb
/usr/share/doc/ruby-gtk2/examples/gtk-demo/cairo-long-lines.rb
/usr/share/doc/ruby-gtk2/examples/gtk-demo/cairo-operator.rb
/usr/share/doc/ruby-gtk2/examples/gtk-demo/cairo-path.rb
/usr/share/doc/ruby-gtk2/examples/gtk-demo/cairo-pattern-fill.rb
/usr/share/doc/ruby-gtk2/examples/gtk-demo/cairo-self-intersect.rb
/usr/share/doc/ruby-gtk2/examples/gtk-demo/cairo-text-align-center.rb
/usr/share/doc/ruby-gtk2/examples/gtk-demo/cairo-text-extents.rb
/usr/share/doc/ruby-gtk2/examples/gtk-demo/cairo-text.rb
/usr/share/doc/ruby-gtk2/examples/gtk-demo/changedisplay.rb
/usr/share/doc/ruby-gtk2/examples/gtk-demo/clipboard.rb
/usr/share/doc/ruby-gtk2/examples/gtk-demo/colorsel.rb
/usr/share/doc/ruby-gtk2/examples/gtk-demo/common.rb
/usr/share/doc/ruby-gtk2/examples/gtk-demo/demo.ui.gz
/usr/share/doc/ruby-gtk2/examples/gtk-demo/dialog.rb
/usr/share/doc/ruby-gtk2/examples/gtk-demo/drawingarea.rb
/usr/share/doc/ruby-gtk2/examples/gtk-demo/editable_cells.rb
/usr/share/doc/ruby-gtk2/examples/gtk-demo/entry_completion.rb
/usr/share/doc/ruby-gtk2/examples/gtk-demo/expander.rb
/usr/share/doc/ruby-gtk2/examples/gtk-demo/floppybuddy.gif
/usr/share/doc/ruby-gtk2/examples/gtk-demo/gnome-applets.png
/usr/share/doc/ruby-gtk2/examples/gtk-demo/gnome-calendar.png
/usr/share/doc/ruby-gtk2/examples/gtk-demo/gnome-foot.png
/usr/share/doc/ruby-gtk2/examples/gtk-demo/gnome-fs-directory.png
/usr/share/doc/ruby-gtk2/examples/gtk-demo/gnome-fs-regular.png
/usr/share/doc/ruby-gtk2/examples/gtk-demo/gnome-gimp.png
/usr/share/doc/ruby-gtk2/examples/gtk-demo/gnome-gmush.png
/usr/share/doc/ruby-gtk2/examples/gtk-demo/gnome-gsame.png
/usr/share/doc/ruby-gtk2/examples/gtk-demo/gnu-keys.png
/usr/share/doc/ruby-gtk2/examples/gtk-demo/gtk-logo-rgb.gif
/usr/share/doc/ruby-gtk2/examples/gtk-demo/hypertext.rb
/usr/share/doc/ruby-gtk2/examples/gtk-demo/iconview.rb
/usr/share/doc/ruby-gtk2/examples/gtk-demo/images.rb
/usr/share/doc/ruby-gtk2/examples/gtk-demo/item_factory.rb
/usr/share/doc/ruby-gtk2/examples/gtk-demo/list_store.rb
/usr/share/doc/ruby-gtk2/examples/gtk-demo/main.rb
/usr/share/doc/ruby-gtk2/examples/gtk-demo/menus.rb
/usr/share/doc/ruby-gtk2/examples/gtk-demo/panes.rb
/usr/share/doc/ruby-gtk2/examples/gtk-demo/pixbufs.rb
/usr/share/doc/ruby-gtk2/examples/gtk-demo/printing.rb
/usr/share/doc/ruby-gtk2/examples/gtk-demo/rotated_text.rb
/usr/share/doc/ruby-gtk2/examples/gtk-demo/ruby-gnome2-logo.png
/usr/share/doc/ruby-gtk2/examples/gtk-demo/sizegroup.rb
/usr/share/doc/ruby-gtk2/examples/gtk-demo/stock_browser.rb
/usr/share/doc/ruby-gtk2/examples/gtk-demo/textview.rb
/usr/share/doc/ruby-gtk2/examples/gtk-demo/tree_store.rb
/usr/share/doc/ruby-gtk2/examples/misc
/usr/share/doc/ruby-gtk2/examples/misc/aboutdialog.rb
/usr/share/doc/ruby-gtk2/examples/misc/aboutdialog2.rb
/usr/share/doc/ruby-gtk2/examples/misc/alpha-demo.rb
/usr/share/doc/ruby-gtk2/examples/misc/assistant.rb
/usr/share/doc/ruby-gtk2/examples/misc/bindings.rb
/usr/share/doc/ruby-gtk2/examples/misc/button.rb
/usr/share/doc/ruby-gtk2/examples/misc/button2.rb
/usr/share/doc/ruby-gtk2/examples/misc/buttonbox.rb
/usr/share/doc/ruby-gtk2/examples/misc/cairo-pong.rb
/usr/share/doc/ruby-gtk2/examples/misc/calendar.rb
/usr/share/doc/ruby-gtk2/examples/misc/checkbutton.rb
/usr/share/doc/ruby-gtk2/examples/misc/colorselection.rb
/usr/share/doc/ruby-gtk2/examples/misc/combo_check.rb
/usr/share/doc/ruby-gtk2/examples/misc/combobox.rb
/usr/share/doc/ruby-gtk2/examples/misc/composited-windows.rb
/usr/share/doc/ruby-gtk2/examples/misc/cursor.rb
/usr/share/doc/ruby-gtk2/examples/misc/dialog.rb
/usr/share/doc/ruby-gtk2/examples/misc/dialog2.rb
/usr/share/doc/ruby-gtk2/examples/misc/dnd.rb
/usr/share/doc/ruby-gtk2/examples/misc/dndtreeview.rb
/usr/share/doc/ruby-gtk2/examples/misc/drag-move.rb
/usr/share/doc/ruby-gtk2/examples/misc/drawing.rb
/usr/share/doc/ruby-gtk2/examples/misc/entry.rb
/usr/share/doc/ruby-gtk2/examples/misc/entrycompletion.rb
/usr/share/doc/ruby-gtk2/examples/misc/expander.rb
/usr/share/doc/ruby-gtk2/examples/misc/filechooser.rb
/usr/share/doc/ruby-gtk2/examples/misc/fileselection.rb
/usr/share/doc/ruby-gtk2/examples/misc/frame.rb
/usr/share/doc/ruby-gtk2/examples/misc/gc.rb
/usr/share/doc/ruby-gtk2/examples/misc/gdkscreen.rb
/usr/share/doc/ruby-gtk2/examples/misc/gnome-logo-icon.png
/usr/share/doc/ruby-gtk2/examples/misc/helloworld.rb
/usr/share/doc/ruby-gtk2/examples/misc/iconview.rb
/usr/share/doc/ruby-gtk2/examples/misc/image.rb
/usr/share/doc/ruby-gtk2/examples/misc/infobar.rb
/usr/share/doc/ruby-gtk2/examples/misc/itemfactory.rb
/usr/share/doc/ruby-gtk2/examples/misc/itemfactory2.rb
/usr/share/doc/ruby-gtk2/examples/misc/keyboard_grab.rb
/usr/share/doc/ruby-gtk2/examples/misc/label.rb
/usr/share/doc/ruby-gtk2/examples/misc/linkbutton.rb
/usr/share/doc/ruby-gtk2/examples/misc/listview.rb
/usr/share/doc/ruby-gtk2/examples/misc/menu.rb
/usr/share/doc/ruby-gtk2/examples/misc/misc_button.rb
/usr/share/doc/ruby-gtk2/examples/misc/mouse-gesture.rb
/usr/share/doc/ruby-gtk2/examples/misc/pangorenderer.rb
/usr/share/doc/ruby-gtk2/examples/misc/pointer_grab.rb
/usr/share/doc/ruby-gtk2/examples/misc/print.rb
/usr/share/doc/ruby-gtk2/examples/misc/properties.rb
/usr/share/doc/ruby-gtk2/examples/misc/radiobutton.rb
/usr/share/doc/ruby-gtk2/examples/misc/recentchooserdialog.rb
/usr/share/doc/ruby-gtk2/examples/misc/rgtk+cairo.rb
/usr/share/doc/ruby-gtk2/examples/misc/scalebutton.rb
/usr/share/doc/ruby-gtk2/examples/misc/settings.rb
/usr/share/doc/ruby-gtk2/examples/misc/statusicon.rb
/usr/share/doc/ruby-gtk2/examples/misc/stock.rb
/usr/share/doc/ruby-gtk2/examples/misc/style_property.rb
/usr/share/doc/ruby-gtk2/examples/misc/style_property.rc
/usr/share/doc/ruby-gtk2/examples/misc/t-gtkplug.rb
/usr/share/doc/ruby-gtk2/examples/misc/t-gtksocket.rb
/usr/share/doc/ruby-gtk2/examples/misc/test.xpm
/usr/share/doc/ruby-gtk2/examples/misc/textbuffer_serialize.rb
/usr/share/doc/ruby-gtk2/examples/misc/threads.rb
/usr/share/doc/ruby-gtk2/examples/misc/to_drawable.rb
/usr/share/doc/ruby-gtk2/examples/misc/togglebutton.rb
/usr/share/doc/ruby-gtk2/examples/misc/toolbar.rb
/usr/share/doc/ruby-gtk2/examples/misc/tooltips.rb
/usr/share/doc/ruby-gtk2/examples/misc/tree_combo.rb
/usr/share/doc/ruby-gtk2/examples/misc/tree_progress.rb
/usr/share/doc/ruby-gtk2/examples/misc/treemodelfilter.rb
/usr/share/doc/ruby-gtk2/examples/misc/treeview.rb
/usr/share/doc/ruby-gtk2/examples/misc/uimanager.rb
/usr/share/doc/ruby-gtk2/examples/misc/uimanager2.rb
/usr/share/doc/ruby-gtk2/examples/misc/uimanager2.xml
/usr/share/doc/ruby-gtk2/examples/misc/window.rb
/usr/share/doc/ruby-gtk2/examples/misc/xbm_cursor.rb
/usr/share/doc/ruby-gtk2/examples/testgtk
/usr/share/doc/ruby-gtk2/examples/testgtk/3DRings.xpm
/usr/share/doc/ruby-gtk2/examples/testgtk/FilesQueue.xpm
/usr/share/doc/ruby-gtk2/examples/testgtk/Modeller.xpm
/usr/share/doc/ruby-gtk2/examples/testgtk/README
/usr/share/doc/ruby-gtk2/examples/testgtk/button.rb
/usr/share/doc/ruby-gtk2/examples/testgtk/buttonbox.rb
/usr/share/doc/ruby-gtk2/examples/testgtk/check-n.xpm
/usr/share/doc/ruby-gtk2/examples/testgtk/check-y.xpm
/usr/share/doc/ruby-gtk2/examples/testgtk/checkbutton.rb
/usr/share/doc/ruby-gtk2/examples/testgtk/circles.xbm
/usr/share/doc/ruby-gtk2/examples/testgtk/colorselect.rb
/usr/share/doc/ruby-gtk2/examples/testgtk/dialog.rb
/usr/share/doc/ruby-gtk2/examples/testgtk/entry.rb
/usr/share/doc/ruby-gtk2/examples/testgtk/filesel.rb
/usr/share/doc/ruby-gtk2/examples/testgtk/fontselection.rb
/usr/share/doc/ruby-gtk2/examples/testgtk/gammacurve.rb
/usr/share/doc/ruby-gtk2/examples/testgtk/labels.rb
/usr/share/doc/ruby-gtk2/examples/testgtk/layout.rb
/usr/share/doc/ruby-gtk2/examples/testgtk/marble.xpm.gz
/usr/share/doc/ruby-gtk2/examples/testgtk/menu.rb
/usr/share/doc/ruby-gtk2/examples/testgtk/notebook.rb
/usr/share/doc/ruby-gtk2/examples/testgtk/pixmap.rb
/usr/share/doc/ruby-gtk2/examples/testgtk/progressbar.rb
/usr/share/doc/ruby-gtk2/examples/testgtk/radiobutton.rb
/usr/share/doc/ruby-gtk2/examples/testgtk/range.rb
/usr/share/doc/ruby-gtk2/examples/testgtk/reparent.rb
/usr/share/doc/ruby-gtk2/examples/testgtk/rulers.rb
/usr/share/doc/ruby-gtk2/examples/testgtk/sample.rb
/usr/share/doc/ruby-gtk2/examples/testgtk/savedposition.rb
/usr/share/doc/ruby-gtk2/examples/testgtk/scrolledwindow.rb
/usr/share/doc/ruby-gtk2/examples/testgtk/shapedwindow.rb
/usr/share/doc/ruby-gtk2/examples/testgtk/spinbutton.rb
/usr/share/doc/ruby-gtk2/examples/testgtk/statusbar.rb
/usr/share/doc/ruby-gtk2/examples/testgtk/test.xpm
/usr/share/doc/ruby-gtk2/examples/testgtk/testgtk.rb
/usr/share/doc/ruby-gtk2/examples/testgtk/testgtkrc
/usr/share/doc/ruby-gtk2/examples/testgtk/testgtkrc2
/usr/share/doc/ruby-gtk2/examples/testgtk/togglebutton.rb
/usr/share/doc/ruby-gtk2/examples/testgtk/toolbar.rb
/usr/share/doc/ruby-gtk2/examples/testgtk/tooltips.rb
/usr/share/doc/ruby-gtk2/examples/testgtk/wmhints.rb
/usr/share/rubygems-integration
/usr/share/rubygems-integration/2.3.0
/usr/share/rubygems-integration/2.3.0/specifications
/usr/share/rubygems-integration/2.3.0/specifications/gtk2-3.1.8.gemspec
/usr/share/doc/ruby-gtk2/changelog.Debian.gz

Мой вопрос: чем мне заменить /usr/local/lib/site_ruby/2.3.0, чтобы скрипт Rubyripper правильно нашел ruby-gtk2 библиотека, которую он ищет? Или я совершенно не на том пути? Если да, то есть предложения?

0
задан 9 December 2017 в 15:23

1 ответ

Строки, которые релевантны здесь:

begin
       require 'gtk2'
rescue LoadError
       puts "The ruby-gtk2 library could not be found. Is it installed?"; exit()
end

Это ловит исключение и выбрасывает всю информацию, необходимо отладить проблему. Если Вы заменяете это просто:

require 'gtk2'

Вы получите это сообщение об ошибке:

/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- cairo-gobject (LoadError)

Который проясняет, как решить проблему:

sudo apt install ruby-cairo-gobject

Надежда, которая добивается цели для Вас!

Ограбить

1
ответ дан 9 December 2017 в 15:23

Другие вопросы по тегам:

Похожие вопросы: