Question

So I'm on Fedora 17 trying to install Capybara Webkit. I followed the directions here and did a bundle install for another (near-identical) branch of this project, so I know it works.

When I try to bundle install, it has this error. Anyone have thoughts, or should I just log a bug with co?

Installing capybara-webkit (0.12.1) 
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

-- SNIP --

g++ -c -pipe -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/lib/qt4/mkspecs/linux-g++ -I. -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui -I/usr/include/QtWebKit -I/usr/include -I. -o WebPage.o 

WebPage.cpp
WebPage.cpp: In member function ‘bool WebPage::render(const QString&)’:
WebPage.cpp:148:3: error: ‘QFileInfo’ was not declared in this scope
WebPage.cpp:148:13: error: expected ‘;’ before ‘fileInfo’
WebPage.cpp:149:3: error: ‘QDir’ was not declared in this scope
WebPage.cpp:149:8: error: expected ‘;’ before ‘dir’
WebPage.cpp:150:3: error: ‘dir’ was not declared in this scope
WebPage.cpp:150:14: error: ‘fileInfo’ was not declared in this scope

make[1]: *** [WebPage.o] Error 1
make[1]: Leaving directory `/usr/local/rvm/gems/ruby-1.9.3-p286/gems/capybara-webkit-0.12.1/src'
make: *** [sub-src-webkit_server-pro-make_default-ordered] Error 2

make
cd src/ && make -f Makefile.webkit_server 
make[1]: Entering directory `/usr/local/rvm/gems/ruby-1.9.3-p286/gems/capybara-webkit-0.12.1/src'
g++ -c -pipe -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/lib/qt4/mkspecs/linux-g++ -I. -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui -I/usr/include/QtWebKit -I/usr/include -I. -o WebPage.o WebPage.cpp
WebPage.cpp: In member function ‘bool WebPage::render(const QString&)’:
WebPage.cpp:148:3: error: ‘QFileInfo’ was not declared in this scope
WebPage.cpp:148:13: error: expected ‘;’ before ‘fileInfo’
WebPage.cpp:149:3: error: ‘QDir’ was not declared in this scope
WebPage.cpp:149:8: error: expected ‘;’ before ‘dir’
WebPage.cpp:150:3: error: ‘dir’ was not declared in this scope
WebPage.cpp:150:14: error: ‘fileInfo’ was not declared in this scope
make[1]: *** [WebPage.o] Error 1
make[1]: Leaving directory `/usr/local/rvm/gems/ruby-1.9.3-p286/gems/capybara-webkit-0.12.1/src'
make: *** [sub-src-webkit_server-pro-make_default-ordered] Error 2


Gem files will remain installed in /usr/local/rvm/gems/ruby-1.9.3-p286/gems/capybara-webkit-0.12.1 for inspection.
Results logged to /usr/local/rvm/gems/ruby-1.9.3-p286/gems/capybara-webkit-0.12.1/./gem_make.out

An error occurred while installing capybara-webkit (0.12.1), and Bundler cannot continue. Make sure that gem install capybara-webkit -v '0.12.1' succeeds before bundling.

Was it helpful?

Solution

version 0.12.1 is quite an outdated version of the gem - I had a lot of trouble getting a similar version installed for an older project I had.

I recommend upgrading to a newer version - the dependencies will be newer and the installation will be a lot less hassle.

OTHER TIPS

capybara-webkit depends on a WebKit implementation from Qt, a cross-platform development toolkit. You'll need to download the Qt libraries to build and install the gem. Instructions for downloading and installing QT: https://github.com/thoughtbot/capybara-webkit/wiki/Installing-Qt-and-compiling-capybara-webkit

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top