尝试使用私人红宝石宝石的奇怪错误(fxruby)

时间:2018-09-25 20:20:05

标签: ruby rubygems manjaro fxruby

我收到一个错误,我无法解释尝试运行本地构建的fxruby gem。

此操作的背景是fxruby gem需要为FOX 1.6版安装的FOX工具包开发文件,但是我正在使用的系统(Manjaro)在其存储库中仅提供了FOX 1.7,因此我从以下位置下载了FOX 1.6源代码它的主页(www.fox-toolkit.org)并将其构建在我的HOME目录下。

然后我跑了gem install fxruby --user-install,经过长时间的搅动,终于成功完成了,显然是成功的,因为gem list显示了fxruby (1.6.39)

到目前为止,太好了。但是,当我运行包含require 'fox16'的ruby程序时,出现运行时错误:

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

那么如何解决此运行时错误?

0 个答案:

没有答案