未加载库:/usr/lib/libpq.5.dylib

时间:2013-07-21 22:29:39

标签: ruby-on-rails macos openssl homebrew pkg-config

最近又回到了计算机(Mac OS X Lion 10.7),我曾经遇到过多次环境问题,开始使用新的rails应用程序并运行

rake db:create

我收到了这个错误输出(使用--trace):

rake aborted!
dlopen(/Users/<username>/.rvm/gems/ruby-2.0.0-p195/gems/pg-0.15.1/lib/pg_ext.bundle, 9): Library not loaded: /usr/lib/libpq.5.dylib
  Referenced from: /Users/<username>/.rvm/gems/ruby-2.0.0-p195/gems/pg-0.15.1/lib/pg_ext.bundle
  Reason: image not found - /Users/<username>/.rvm/gems/ruby-2.0.0-p195/gems/pg-0.15.1/lib/pg_ext.bundle
/Users/<username>/.rvm/gems/ruby-2.0.0-p195/gems/pg-0.15.1/lib/pg.rb:4:in `require'
/Users/<username>/.rvm/gems/ruby-2.0.0-p195/gems/pg-0.15.1/lib/pg.rb:4:in `<top (required)>'
/Users/<username>/.rvm/gems/ruby-2.0.0-p195/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `require'
/Users/<username>/.rvm/gems/ruby-2.0.0-p195/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `block (2 levels) in require'
/Users/<username>/.rvm/gems/ruby-2.0.0-p195/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `each'
/Users/<username>/.rvm/gems/ruby-2.0.0-p195/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `block in require'
/Users/<username>/.rvm/gems/ruby-2.0.0-p195/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `each'
/Users/<username>/.rvm/gems/ruby-2.0.0-p195/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `require'
/Users/<username>/.rvm/gems/ruby-2.0.0-p195/gems/bundler-1.3.5/lib/bundler.rb:132:in `require'
/Users/<username>/rails/<appname>/config/application.rb:7:in `<top (required)>'
/Users/<username>/rails/<appname>/Rakefile:4:in `require'
/Users/<username>/rails/<appname>/Rakefile:4:in `<top (required)>'
/Users/<username>/.rvm/gems/ruby-2.0.0-p195@global/gems/rake-10.1.0/lib/rake/rake_module.rb:25:in `load'
/Users/<username>/.rvm/gems/ruby-2.0.0-p195@global/gems/rake-10.1.0/lib/rake/rake_module.rb:25:in `load_rakefile'
/Users/<username>/.rvm/gems/ruby-2.0.0-p195@global/gems/rake-10.1.0/lib/rake/application.rb:637:in `raw_load_rakefile'
/Users/<username>/.rvm/gems/ruby-2.0.0-p195@global/gems/rake-10.1.0/lib/rake/application.rb:94:in `block in load_rakefile'
/Users/<username>/.rvm/gems/ruby-2.0.0-p195@global/gems/rake-10.1.0/lib/rake/application.rb:165:in `standard_exception_handling'
/Users/<username>/.rvm/gems/ruby-2.0.0-p195@global/gems/rake-10.1.0/lib/rake/application.rb:93:in `load_rakefile'
/Users/<username>/.rvm/gems/ruby-2.0.0-p195@global/gems/rake-10.1.0/lib/rake/application.rb:77:in `block in run'
/Users/<username>/.rvm/gems/ruby-2.0.0-p195@global/gems/rake-10.1.0/lib/rake/application.rb:165:in `standard_exception_handling'
/Users/<username>/.rvm/gems/ruby-2.0.0-p195@global/gems/rake-10.1.0/lib/rake/application.rb:75:in `run'
bin/rake:4:in `<main>'

config / application.rb:7指的是:

Bundler.require(:default, Rails.env)

这是关于几个环境问题的痊愈,我敢肯定,导致问题,但我不知道如何。基本上,我遇到了自制软件的问题(brew install wget不起作用,抱怨它已经下载了,但随后说:

checking for libssl... no
configure: error: --with-ssl=openssl was given, but SSL is not available

所以我卸载了自制程序,卸载了我的shell(鱼壳),重新安装了两个,并尝试从头开始。回想起来,可能不是一个好主意。我似乎把事情弄得比现在更糟糕了。

然而,酿酒医生似乎认为大多数事情都没问题。对我而言,唯一可能与之相关的是:

  /Users/sasha/.rvm/bin/pkg-config

(还有另外一件事 - “/ usr / bin发生在/ usr / local / bin之前”,但这仅适用于节点,npm和gcov-4.2安装,这似乎与此无关Rails问题。)

我认为RVM 应该拥有自己的pkg-config安装,对吗?

无论如何,OpenSSL由自制软件安装和更新,看起来不错(它显示在brew列表中)。此外,我的XCode命令行工具也是最新的。

我想我的问题是,是否有人知道发生了什么?我已经尝试重新排序我的路径,以遵守酿酒医生,取消/重新安装许多东西,更新所有东西等,这只是不会消失。超级沮丧,因为我基本上不能做任何事情没有耙工作。我认为这个dylib和openssl问题可能是相互关联的,所以我想我只是在这里转储所有这些数据。

有什么想法吗?我真的很感激帮助。

谢谢!

编辑 - 这是使用Rails 4.0,带有pg gem。

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '4.0.0.rc1'

# Use postgresql as the database for Active Record
gem 'pg'

如果这有任何区别。

更新 - 似乎与this problem有关,我也有。我认为rake因为pg没有用,因为crpyto / openssl而无效。

1 个答案:

答案 0 :(得分:0)

问题是基于一个令人费解的空libssl.dylib文件。有一个备份(libssl.dylib.BAK),我只是用它覆盖了空文件 - 噗 - 所有的问题都消失了。不知道首先是怎么回事,但是如果有人遇到类似的问题,我会在usr / lib /中查找.BAK文件,并且(如果有的话)查看相关文件是否为空。