Странная ошибка при попытке использовать приватный рубиновый камень (fxruby)
Я получаю сообщение об ошибке, которое не могу объяснить при попытке запустить гем fxruby, созданный локально.
Основанием для этого является то, что для гема fxruby требуются файлы разработки инструментария FOX, установленные для FOX версии 1.6, но система, которую я использую (Manjaro), предоставляет только FOX 1.7 в своем хранилище, поэтому я загрузил исходный код FOX 1.6 с его домашнего сайта. (www.fox-toolkit.org) и встроил его в мой каталог HOME.
Я тогда побежал gem install fxruby --user-install
и после длительного периода сбивания оно наконец закончилось, по-видимому, успешно, так как gem list
шоу fxruby (1.6.39)
,
Все идет нормально. Но когда я запускаю программу ruby, содержащую require 'fox16'
Я получаю ошибку во время выполнения:
193 maia$ ./recepsum
Traceback (most recent call last):
6: from ./recepsum:13:in `<main>'
5: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:39:in `require'
4: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:135:in `rescue in require'
3: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:135:in `require'
2: from /home/william/.gem/ruby/2.5.0/gems/fxruby-1.6.39/lib/fox16.rb:2:in `<top (required)>'
1: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
/usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require': libFOX-1.6.so.0: cannot open shared object file: No such file or directory - /home/william/.gem/ruby/2.5.0/gems/fxruby-1.6.39/lib/fox16_c.so (LoadError)
Итак, существует ли этот общий объектный файл? Видимо да:
194 maia$ ls -l /home/william/.gem/ruby/2.5.0/gems/fxruby-1.6.39/lib/fox16_c.so
-rwxr-xr-x 1 william william 11747288 Sep 24 17:37 /home/william/.gem/ruby/2.5.0/gems/fxruby-1.6.39/lib/fox16_c.so
Насколько я вижу, окружение gem выглядит хорошо:
195 maia$ gem env
RubyGems Environment:
- RUBYGEMS VERSION: 2.7.7
- RUBY VERSION: 2.5.1 (2018-03-29 patchlevel 57) [x86_64-linux]
- INSTALLATION DIRECTORY: /usr/lib/ruby/gems/2.5.0
- USER INSTALLATION DIRECTORY: /home/william/.gem/ruby/2.5.0
- RUBY EXECUTABLE: /usr/bin/ruby
- EXECUTABLE DIRECTORY: /usr/bin
- SPEC CACHE DIRECTORY: /home/william/.gem/specs
- SYSTEM CONFIGURATION DIRECTORY: /etc
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-linux
- GEM PATHS:
- /usr/lib/ruby/gems/2.5.0
- /home/william/.gem/ruby/2.5.0
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :backtrace => false
- :bulk_threshold => 1000
- "gem" => "--document rdoc,ri --user-install"
- REMOTE SOURCES:
- https://rubygems.org/
- SHELL PATH:
- /usr/local/bin
- /usr/bin
- /bin
- /usr/local/sbin
- /usr/lib/jvm/default/bin
- /usr/bin/site_perl
- /usr/bin/vendor_perl
- /usr/bin/core_perl
- /home/william/bin
- /home/william/.gem/ruby/2.5.0/bin
Так как же решить эту ошибку во время выполнения?