由于libpng版本不兼容而在MacOS X上使用capybara-webkit(真正的QtWebKit webkit_server)时出错

时间:2012-02-11 22:43:10

标签: ruby rubygems capybara qtwebkit capybara-webkit

尝试使用capybara-webkit驱动程序执行任何capybara测试时出现以下错误:

  

dyld:未加载库:/usr/X11/lib/libpng15.15.dylib参考   来自:/usr/local/Cellar/qt/4.8.0/lib/QtGui.framework/Versions/4/QtGui   原因:不兼容的库版本:QtGui需要版本20.0.0或   稍后,但libpng15.15.dylib提供版本17.0.0   /Users/chris/.rvm/gems/ruby-1.9.2-p290/gems/capybara-webkit-0.9.0/lib/capybara/driver/webkit/browser.rb:200:in   initialize': Can't assign requested address - connect(2) (Errno::EADDRNOTAVAIL) from /Users/chris/.rvm/gems/ruby-1.9.2-p290/gems/capybara-webkit-0.9.0/lib/capybara/driver/webkit/browser.rb:200:in 打开'来自   /Users/chris/.rvm/gems/ruby-1.9.2-p290/gems/capybara-webkit-0.9.0/lib/capybara/driver/webkit/browser.rb:200:in   attempt_connect' from /Users/chris/.rvm/gems/ruby-1.9.2-p290/gems/capybara-webkit-0.9.0/lib/capybara/driver/webkit/browser.rb:194:in 阻止连接'来自   /Users/chris/.rvm/gems/ruby-1.9.2-p290/gems/capybara-1.1.2/lib/capybara/util/timeout.rb:13:in   timeout' from /Users/chris/.rvm/gems/ruby-1.9.2-p290/gems/capybara-webkit-0.9.0/lib/capybara/driver/webkit/browser.rb:193:in 连接'来自   /Users/chris/.rvm/gems/ruby-1.9.2-p290/gems/capybara-webkit-0.9.0/lib/capybara/driver/webkit/browser.rb:17:in   来自initialize' from /Users/chris/.rvm/gems/ruby-1.9.2-p290/gems/capybara-webkit-0.9.0/lib/capybara/driver/webkit.rb:25:in 新'   /Users/chris/.rvm/gems/ruby-1.9.2-p290/gems/capybara-webkit-0.9.0/lib/capybara/driver/webkit.rb:25:in   来自initialize' from /Users/chris/.rvm/gems/ruby-1.9.2-p290/gems/capybara-webkit-0.9.0/lib/capybara/webkit.rb:5:in 新'   /Users/chris/.rvm/gems/ruby-1.9.2-p290/gems/capybara-webkit-0.9.0/lib/capybara/webkit.rb:5:in   block in <top (required)>' from /Users/chris/.rvm/gems/ruby-1.9.2-p290/gems/capybara-1.1.2/lib/capybara/session.rb:61:in 来电   /Users/chris/.rvm/gems/ruby-1.9.2-p290/gems/capybara-1.1.2/lib/capybara/session.rb:61:in   driver' from /Users/chris/.rvm/gems/ruby-1.9.2-p290/gems/capybara-1.1.2/lib/capybara/session.rb:157:in 访问'来自   /Users/chris/.rvm/gems/ruby-1.9.2-p290/gems/capybara-1.1.2/lib/capybara/dsl.rb:161:in   `访问“

我理解问题是由于它似乎试图使用的libpng版本,但我不知道如何解决它。我已经下载了最新的libpng源代码并对其进行了编译,但我假设capybara-webkit gem安装中有一些东西,其中webkit二进制文件与堆栈跟踪中显示的内容相关联。我只是不确定如何解决它。任何指导表示赞赏。

我正在使用Max OS X 10.7,Ruby 1.9.2,capybara版本1.1.2和capybara-webkit 0.9.0。

编辑:回答评论中的问题 - 是的,Qt是使用自制软件安装的。我不确定我会做些什么不同 - 你建议用LD_LIBRARY_PATH做些什么吗?

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题并通过完全删除qt并重新安装来修复它,使用以下步骤。

删除QT

brew uninstall qt
sudo python uninstall-qt.py (I think in /Developer/Tools)

安装QT

brew update
brew doctor - fix any issues
brew install qt4 or brew install qt4 --build-from-source