【问题标题】:libffi.so.5: cannot open shared object filelibffi.so.5:无法打开共享对象文件
【发布时间】:2013-01-03 12:07:44
【问题描述】:

我从 Rails 3.0.11 升级到 3.1.3。当我启动服务器时,它给出了错误:

>> Using rack adapter
rake aborted!
libffi.so.5: cannot open shared object file: No such file or directory - /home/srikanth/.rvm/gems/ruby-1.9.3-p125/gems/ffi-1.0.11/lib/ffi_c.so    
/home/srikanth/.rvm/gems/ruby-1.9.3-p125/gems/activesupport-3.1.4/lib/active_support/dependencies.rb:240:in `require'  
/home/srikanth/.rvm/gems/ruby-1.9.3-p125/gems/activesupport-3.1.4/lib/active_support/dependencies.rb:240:in `block in require'  
/home/srikanth/.rvm/gems/ruby-1.9.3-p125/gems/activesupport-3.1.4/lib/active_support/dependencies.rb:223:in `block in load_dependency'  
/home/srikanth/.rvm/gems/ruby-1.9.3-p125/gems/activesupport-3.1.4/lib/active_support/dependencies.rb:640:in `new_constants_in'  
/home/srikanth/.rvm/gems/ruby-1.9.3-p125/gems/activesupport-3.1.4/lib/active_support/dependencies.rb:223:in `load_dependency'  
/home/srikanth/.rvm/gems/ruby-1.9.3-p125/gems/activesupport-3.1.4/lib/active_support/dependencies.rb:240:in `require'  
/home/srikanth/.rvm/gems/ruby-1.9.3-p125/gems/ffi-1.0.11/lib/ffi.rb:11:in `rescue in <top (required)>'  
/home/srikanth/.rvm/gems/ruby-1.9.3-p125/gems/ffi-1.0.11/lib/ffi.rb:2:in `<top (required)>'  
/home/srikanth/.rvm/gems/ruby-1.9.3-p125/gems/activesupport-3.1.4/lib/active_support/dependencies.rb:240:in `require'   
/home/srikanth/.rvm/gems/ruby-1.9.3-p125/gems/activesupport-3.1.4/lib/active_support/dependencies.rb:240:in `block in require'  
/home/srikanth/.rvm/gems/ruby-1.9.3-p125/gems/activesupport-3.1.4/lib/active_support/dependencies.rb:223:in `block in load_dependency'  
/home/srikanth/.rvm/gems/ruby-1.9.3-p125/gems/activesupport-3.1.4/lib/active_support/dependencies.rb:640:in `new_constants_in'  
/home/srikanth/.rvm/gems/ruby-1.9.3-p125/gems/activesupport-3.1.4/lib/active_support/dependencies.rb:223:in `load_dependency'  
/home/srikanth/.rvm/gems/ruby-1.9.3-p125/gems/activesupport-3.1.4/lib/active_support/dependencies.rb:240:in `require'  
/home/srikanth/.rvm/gems/ruby-1.9.3-p125/gems/ethon-0.5.3/lib/ethon.rb:2:in `<top (required)>'  
/home/srikanth/.rvm/gems/ruby-1.9.3-p125/gems/activesupport-3.1.4/lib/active_support/dependencies.rb:240:in `require'  
/home/srikanth/.rvm/gems/ruby-1.9.3-p125/gems/activesupport-3.1.4/lib/active_support/dependencies.rb:240:in `block in require'    
/home/srikanth/.rvm/gems/ruby-1.9.3-p125/gems/activesupport-3.1.4/lib/active_support/dependencies.rb:223:in `block in load_dependency'  
/home/srikanth/.rvm/gems/ruby-1.9.3-p125/gems/activesupport-3.1.4/lib/active_support/dependencies.rb:640:in `new_constants_in'  
/home/srikanth/.rvm/gems/ruby-1.9.3-p125/gems/activesupport-3.1.4/lib/active_support/dependencies.rb:223:in `load_dependency'  
/home/srikanth/.rvm/gems/ruby-1.9.3-p125/gems/activesupport-3.1.4/lib/active_support/dependencies.rb:240:in `require'  
/home/srikanth/.rvm/gems/ruby-1.9.3-p125/gems/typhoeus-0.5.3/lib/typhoeus.rb:2:in `<top (required)>'  
/home/srikanth/.rvm/gems/ruby-1.9.3-p125/gems/bundler-1.2.1/lib/bundler/runtime.rb:68:in `require'  
/home/srikanth/.rvm/gems/ruby-1.9.3-p125/gems/bundler-1.2.1/lib/bundler/runtime.rb:68:in `block (2 levels) in require'  
/home/srikanth/.rvm/gems/ruby-1.9.3-p125/gems/bundler-1.2.1/lib/bundler/runtime.rb:66:in `each'  
/home/srikanth/.rvm/gems/ruby-1.9.3-p125/gems/bundler-1.2.1/lib/bundler/runtime.rb:66:in `block in require'  
/home/srikanth/.rvm/gems/ruby-1.9.3-p125/gems/bundler-1.2.1/lib/bundler/runtime.rb:55:in `each'  
/home/srikanth/.rvm/gems/ruby-1.9.3-p125/gems/bundler-1.2.1/lib/bundler/runtime.rb:55:in `require'  
/home/srikanth/.rvm/gems/ruby-1.9.3-p125/gems/bundler-1.2.1/lib/bundler.rb:128:in `require'  
/home/srikanth/projects/tango/config/application.rb:19:in `<top (required)>'  
/home/srikanth/projects/tango/Rakefile:8:in `require'  
/home/srikanth/projects/tango/Rakefile:8:in `<top (required)>'  
(See full trace by running task with --trace)  

知道如何解决这个问题吗?

【问题讨论】:

标签: ruby-on-rails ruby-on-rails-3


【解决方案1】:

也许 ffi gem 没有正确安装?

gem uninstall ffi

假设您使用的是 Ubuntu:

sudo apt-get install libffi libffi-dev
gem install ffi -v 1.0.11

【讨论】:

  • 我已经卸载了 Gem 并重新安装了 1.0.11。效果很好!
  • 你的意思是gem uninstallLink
  • 这确实很有帮助..我必须这样做sudo yum install libffi-devel,因为我使用的是 Amazon AMI。
  • libffi.so.6: cannot open shared object file: No such file or directory >> [重新安装] gem install ffi 为我解决了这个问题;谢谢!
  • 我重新安装了libffi7(我的系统上的那个)并重新安装了 ffi gem。它奏效了。
【解决方案2】:

因为我已经安装了“ffi”。我必须找到另一个解决方案,试试下面(这对我有帮助):

找到文件“libffi.so.5”,如果不存在,请检查“libffi.so”。 (在我的情况下是 6,即 libffi.so.6)。

现在取消与“/usr/lib64/libffi.so.6”关联的文件的链接。 (在我的例子中,它指向“libffi.so.6.0.1”)

现在为“libffi.so.5”创建一个新的符号链接,这样“/usr/lib64/libffi.so.5”应该指向新的符号链接“libffi.so.6.0.1”。

即,最终设置应如下所示:- "/usr/lib64/libffi.so.5 -> libffi.so.6.0.1"

希望这会有所帮助。(我使用基于 Amazon Linux AMI 的实例。)

【讨论】:

  • 正是我需要做的才能解决我的 Raspberry Pi 2 上的类似问题。谢谢!
【解决方案3】:

这对我有用。

ln -s /usr/lib64/libffi.so.6 /usr/lib64/libffi.so.5

【讨论】:

    猜你喜欢
    • 2022-11-28
    • 2021-03-08
    • 2011-12-23
    • 2013-04-21
    • 2013-05-05
    • 2022-01-11
    • 2017-05-21
    • 2012-05-24
    • 2014-02-10
    相关资源
    最近更新 更多