Installation of capybara-webkit ruby gem
I have following errors when I try to install capybara-webkit ruby gem
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/home/s/.rvm/rubies/ruby-1.8.7-p371/bin/ruby extconf.rb
cd src/ && /usr/lib/x86_64-linux-gnu/qt4/bin/qmake /home/s/.rvm/gems/ruby-1.8.7-
p371@/gems/capybara-webkit-0.14.1/src/webkit_server.pro -spec
/usr/share/qt4/mkspecs/linux-g++ -o Makefile.webkit_server
cd src/ && make -f Makefile.webkit_server
make[1]: Entering directory `/home/s/.rvm/gems/ruby-1.8.7-p371@/gems/capybara- webkit-0.14.1/src'
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_WEBKIT_LIB -DQT_GUI_LIB - DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. - I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui - I/usr/include/qt4/QtWebKit -I/usr/include/qt4 -I. -o EnableLogging.o EnableLogging.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_WEBKIT_LIB -DQT_GUI_LIB - DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. - I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui - I/usr/include/qt4/QtWebKit -I/usr/include/qt4 -I. -o Authenticate.o Authenticate.cpp
In file included from Authenticate.cpp:2:0:
WebPage.h:46:17: error: incomplete type ‘QNetworkReply’ used in nested name specifier
WebPage.h:46:17: error: incomplete type ‘QNetworkReply’ used in nested name specifier
WebPage.h:46:45: error: template argument 1 is invalid
make[1]: *** [Authenticate.o] Error 1
make[1]: Leaving directory `/home/s/.rvm/gems/ruby-1.8.7-p371/gems/capybara- webkit-0.14.1/src'
make: *** [sub-src-webkit_server-pro-make_default-ordered] Error 2
Command 'make' failed
I use Ubuntu 13.04 and I have installed libqt4-dev and g++. Does anyone know how to fix it? I installed it correctly on Ubuntu 12.10.
Solution 1:
Seems to be a popular issue... https://github.com/thoughtbot/capybara-webkit/issues/513
Had this problem myself and fought with it for a week or so. Seems to be working now though! Problem is I can't narrow it down to what I did. Here's a list of things that might of helped fix it:
Install missing packages:
sudo apt-get install libqt4-dev libqtwebkit-dev build-essential
If the packages exist already purge and then install
sudo apt-get purge libqt4-dev libqtwebkit-dev
Reinstall ruby
rvm reinstall 1.9.3
- Create a unique fresh gemset: https://rvm.io/gemsets/creating
- remove specific version of cabybara-webkit from Gemfile
- Delete Gemfile.lock
sudo apt-get update && sudo apt-get upgrade
I think re-installing RVM was what did it for me. It had become cluttered over time with all the different rails projects and personal hacks.