Ошибка использования capybara-webkit (на самом деле QtWebKit webkit_server) в MacOS X из-за несовместимости версий libpng - PullRequest
1 голос
/ 12 февраля 2012

При попытке выполнить любой тест на капибару с использованием драйвера capybara-webkit появляется следующая ошибка:

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 есть что-то, где двоичные файлы веб-набора связаны с теми, что показаны в трассировке стека, или что-то в этом роде. Я просто не уверен, как это исправить. Любое руководство приветствуется.

Я использую Max OS X 10.7, Ruby 1.9.2, capybara версии 1.1.2 и capybara-webkit 0.9.0.

РЕДАКТИРОВАТЬ: Чтобы ответить на вопрос в комментариях - да, Qt был установлен с помощью homebrew. Я не уверен, что я бы сделал по-другому - вы предлагаете сделать что-то с LD_LIBRARY_PATH?

1 Ответ

1 голос
/ 25 марта 2014

Я столкнулся с этой же проблемой и исправил ее, полностью удалив 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
...