由于libpng版本不兼容,在MacOS X上使用capybara-webkit(实际上是QtWebKit webkit_server)时出错 [英] Error using capybara-webkit (really QtWebKit webkit_server) on MacOS X due to libpng version incompatibility

查看:100
本文介绍了由于libpng版本不兼容,在MacOS X上使用capybara-webkit(实际上是QtWebKit webkit_server)时出错的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I get the following error when trying to execute any capybara test using the capybara-webkit driver:


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':无法分配请求的地址-connect(2)
(Errno :: EADDRNOTAVAIL)从
/用户/chris/.rvm/gems/ruby-1.9.2-p290/gems/capybara-webkit-0.9.0/lib/capybara/driver/webkit/浏览器.rb:200:在
open'中从
/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- 2 90 / gems / capybara-webkit-0.9.0 / lib / capybara / driver / webkit / browser.rb:194:在
中的连接来自
/ Users / chris / .rvm / gems / ruby​​-1.9.2-p290 / gems / capybara-1.1.2 / lib / capybara / util / timeout.rb:13:in
timeout'from
/用户/chris/.rvm/gems/ruby-1.9.2-p290/gems/capybara-webkit-0.9.0/lib/capybara/driver/webkit/browser.rb:193:in
connect'from
/Users/chris/.rvm/gems/ruby-1.9.2-p290/gems/capybara-webkit-0.9.0/lib/capybara/driver/webkit/ browser.rb:17:在
中从
初始化/用户/chris/.rvm/gems/ruby-1.9.2-p290/gems/capybara-webkit-0.9。 0 / lib / capybara / driver / webkit.rb:25:in
new'from
/Users/chris/.rvm/gems/ruby-1.9.2-p290 /gems/capybara-webkit-0.9.0/lib/capybara/driver/webkit.rb:25:in

初始化'/用户/chris/.rvm/gems /ruby-1.9.2-p290/gems/capybara-webkit-0.9.0/lib/capybara/webkit.rb:5:in
new'from
/ Users /chris/.rvm/gems/ruby-1.9.2-p290/gem s / capybara-webkit-0.9.0 / lib / capybara / webkit.rb:5:在
中的< top(必填)>'中
/ Users / chris / .rvm / gems / ruby​​-1.9.2-p290 / gems / capybara-1.1.2 / lib / capybara / session.rb:61:在
中调用
/用户/chris/.rvm/gems/ruby-1.9.2-p290/gems/capybara-1.1.2/lib/capybara/session.rb:61:在
驱动程序中'from
/Users/chris/.rvm/gems/ruby-1.9.2-p290/gems/capybara-1.1.2/lib/capybara/session.rb:157:
visit'from
/Users/chris/.rvm/gems/ruby-1.9.2-p290/gems/capybara-1.1.2/lib/capybara/dsl.rb:161:in
`visit'

dyld: Library not loaded: /usr/X11/lib/libpng15.15.dylib Referenced from: /usr/local/Cellar/qt/4.8.0/lib/QtGui.framework/Versions/4/QtGui Reason: Incompatible library version: QtGui requires version 20.0.0 or later, but libpng15.15.dylib provides version 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 open' from /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 block in connect' from /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 connect' from /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 new' from /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 new' from /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 call' from /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 visit' from /Users/chris/.rvm/gems/ruby-1.9.2-p290/gems/capybara-1.1.2/lib/capybara/dsl.rb:161:in `visit'

我了解问题是由于它似乎正在尝试使用libpng版本,但我我不确定该如何解决。我已经下载了最新的libpng源文件并对其进行了编译,但我假设capybara-webkit gem安装中存在某些内容,其中webkit二进制文件已与堆栈跟踪中显示的二进制文件链接在一起。我只是不确定如何解决它。任何指导表示赞赏。

I understand the problem is due to the version of libpng it appears to be attempting to use, but I'm not sure how to fix it. I've downloaded the latest libpng source and compiled it, but I'm assuming that there is something in the capybara-webkit gem installation where either the webkit binaries are getting linked against the ones shown in the stack trace or something. I'm just not sure how to fix it. Any guidance is appreciated.

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

I'm using Max OS X 10.7, Ruby 1.9.2, capybara version 1.1.2, and capybara-webkit 0.9.0.

编辑:要回答评论中的问题-是的,Qt是使用自制软件安装的。我不确定我会怎么做-您是否建议使用LD_LIBRARY_PATH做某事?

To answer the question in the comments - yes, Qt was installed using homebrew. I'm not sure what I would do differently though - are you suggesting doing something with LD_LIBRARY_PATH?

推荐答案

我遇到了同样的问题问题并通过以下步骤完全删除qt并重新安装来解决。

I ran into this same issue and fixed it by completely removing qt and reinstalling, using the following steps.

删除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

这篇关于由于libpng版本不兼容,在MacOS X上使用capybara-webkit(实际上是QtWebKit webkit_server)时出错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆