もうかれこれ1ヶ月近く悩んでます。
どうすればcapybara-webkitがインストール出来るでしょうか?
状況はこんな感じです。
1. `rails new` で新規プロジェクト作成
2. Gemfileに `capybara` と `capybara-webkit` を追加
3. `bundle install` を実行
4. 次のエラーが発生
>||
# --- 省略 ---
stable.h:23:23: error: QWebElement: No such file or directory
stable.h:24:24: error: QWebSettings: No such file or directory
stable.h:34:20: error: QtWebKit: No such file or directory
make[1]: *** [build/webkit_server.gch/c++] Error 1
make[1]: Leaving directory `/home/vagrant/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/capybara-webkit-1.3.1/src'
make: *** [sub-src-webkit_server-pro-make_default-ordered] Error 2
make failed, exit code 2
# --- 省略 ---
||<
**環境
| *項目 | *バージョン |
| OS | CentOS 6.5 |
| Ruby | ruby 2.1.0p0 (2013-12-25 revision 44422) [i686-linux] |
| Rails | 4.1.0 |
| xml2-config | 2.7.6 |
| xslt-config | 1.1.26 |
| QMake | QMake version 2.01a |
| Qt | Using Qt version 4.8.6 |
Qtはこちらのページの手順でインストールしています。
Installing Qt and compiling capybara webkit · thoughtbot/capybara-webkit Wiki
https://github.com/thoughtbot/capybara-webkit/wiki/Installing-Qt-and-compiling-capybara-webkit
質問者の方と同じ環境を VM で作って試してみたら再現し、解決しました。
結論だけ先に申し上げると、capybara-webkit の CentOS 6.5 向けのビルド手順が間違っています(最小構成で作られた環境が考慮されていない?)。以下の手順で Qt をビルドしてみてください。
# yum install コマンドが分かれているのは特に意味はありません。 sudo yum install libxcb libxcb-devel xcb-util xcb-util-devel sudo yum install flex bison gperf libicu-devel libxslt-devel ruby sudo yum install libXrender-devel # ここからは qt のソースのルートディレクトリで実行します。 ./configure -opensource -nomake examples -nomake tests sudo gmake -j4 # -j オプションは、PC のコア数と同じ数値に調整してください sudo gmake install
一応、なぜこの手順が正しいのかについて説明すると、ソースからビルドする場合に qwebkit を有効にするには依存ライブラリがインストールされていることが必要だからです。依存ライブラリが足りない場合は qwebkit のビルドが自動的にオフになるようで、configure のログをよく見ると警告が表示されていますが、分かりづらすぎるため普通は気が付かないと思います。私は configure のログを注視する習慣があるのと質問にあったエラーログから qwebkit がそもそもインストールされていないのではないかとあたりがついていたので、たまたま気が付きました。
ビルド方法の詳細が知りたければ、http://qt-project.org/wiki/Building_Qt_5_from_Git を参照してください。こちらは Qt5 用のドキュメントですが、Qt4 でも通用しました。
再現させた環境は以下のとおりです。
[vagrant@vagrant-centos65 app]$ uname -a Linux vagrant-centos65.vagrantup.com 2.6.32-431.3.1.el6.x86_64 #1 SMP Fri Jan 3 21:39:27 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux [vagrant@vagrant-centos65 app]$ ruby -v ruby 2.1.0p0 (2013-12-25 revision 44422) [x86_64-linux] [vagrant@vagrant-centos65 app]$ qmake -v QMake version 2.01a Using Qt version 4.8.6 in /usr/local/Trolltech/Qt-4.8.6/lib