libsndfile.so.1:无法打开共享对象文件:没有这样的文件或目录

问题描述 投票:0回答:2
libsndfile.so.1: cannot open shared object file: No such file or directory - /opt/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/extensions/x86_64-linux/2.1.0-static/ruby-audio-1.6.1/rubyaudio_ext.so (LoadError)
  /opt/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/ruby-audio-1.6.1/lib/ruby-audio.rb:6:in `require'
  /opt/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/ruby-audio-1.6.1/lib/ruby-audio.rb:6:in `rescue in <top (required)>'
  /opt/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/ruby-audio-1.6.1/lib/ruby-audio.rb:1:in `<top (required)>'
  /opt/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/json-waveform-0.2.1/lib/json-waveform.rb:3:in `require'
  /opt/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/json-waveform-0.2.1/lib/json-waveform.rb:3:in `<top (required)>'
  /opt/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/bundler-1.6.2/lib/bundler/runtime.rb:76:in `require'
  /opt/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/bundler-1.6.2/lib/bundler/runtime.rb:76:in `block (2 levels) in require'
  /opt/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/bundler-1.6.2/lib/bundler/runtime.rb:72:in `each'
  /opt/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/bundler-1.6.2/lib/bundler/runtime.rb:72:in `block in require'
  /opt/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/bundler-1.6.2/lib/bundler/runtime.rb:61:in `each'
  /opt/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/bundler-1.6.2/lib/bundler/runtime.rb:61:in `require'
  /opt/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/bundler-1.6.2/lib/bundler.rb:132:in `require'
  /var/app/current/config/application.rb:7:in `<top (required)>'
  /var/app/current/config/environment.rb:2:in `require'
  /var/app/current/config/environment.rb:2:in `<top (required)>'
  config.ru:3:in `require'
  config.ru:3:in `block in <main>

但是当我检查为

"ll  /opt/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/extensions/x86_64-linux/2.1.0-static/ruby-audio-1.6.1/"

文件存在于 redhat aws 服务器中。

如何解决这个问题? 谢谢

ruby-on-rails amazon-web-services amazon-elastic-beanstalk
2个回答
2
投票
ldconfig -p | grep libsndfile.so

如果找不到该文件,请查找 libsndfile-1.0.27 所在的位置。

将libsndfile-1.0.27路径的目录添加到/etc/ld.so.conf.d中的文件中。

将文件添加到 /etc/ld.conf.d 后运行

ldconfig


1
投票

您可以使用 apt-get 包手动添加缺少的 .so 文件

apt-get 安装 libsndfile1

我在 Docker 容器中运行“soundfile”python 库时遇到了这个问题。将 apt-get 命令添加到我的 Dockerfile 解决了该问题。

© www.soinside.com 2019 - 2024. All rights reserved.