CentOS6にcapybara-webkitのインストール
まさかこんな大事になるとは……。
sudo gem install capybara-webkit
でCentOS6.4上に capybara-webkit がインストールされない。
capybara-webkit のビルドにはqmakeが必要なのだが、CentOS6.4に最初から入っていたqtバージョ ン4.6のqmakeでは capybara-webkit をqmakeできなかった。調べてみると capybara-webkit のビルド にはqt4.8より上位のバージョンが必要とのこと。
そこでqt48をインストールしようとしたが(こちらを参照)、既にqt4が存在しているせいか、yumを使っても「パッケージ qt48-qt-webkit-devel は利用できません」と断られてしまう。
既存のqt4のアンインストールもできないので、GUIでインストールできる新バージョンのqt5を導入 しようとしたのだが、これも失敗。yumでインストールされるgccのバージョンが4.4であり、gcc4.4で はqt5が正常にビルドできないらしい。
そこで gcc を手動でアップデートする。
これがまた大変で、centOSにgcc4.8.3をインストールしようとすると異様に手間がかかったうえ途 中で失敗して詰まった。
具体的に言うとGMP、mpfr、mpc、islなどのライブラリを別に手動でビルドしないといけない(こち らを参照)。
そして私の環境ではgengtype-lex.cをコンパイルしたあたりで無限ループに入ってしまったかのよ うにピクリとも動かなくなってしまったのだ。
qt5のインストールはgccのバージョンが4.8より上であればいいのでgcc4.8.3の導入を諦め、gccの 4.9.3をダウンロードしてみる。
すると、このバージョンには ./contrib/download_prerequisites というファイルが入っていて 、これを起動するだけでGMP等のライブラリが準備される。便利だ。
「コンパイルが死ぬほど長い」という話だったが本当。今度やるときにはcとc++だけにしたい。
無事gcc4.9.3をインストールしてQt5.4.1をインストール。
sudo ./qt-opensource-linux-86-5.4.1.run
成功。
sudo visudo
secure_path に /opt/Qt5.4.1/5.4/gcc/bin を追加
うまくいかない。
libQt5WebKit.so で undefined reference が発生している。調べてみるとほかのプログラムのコン パイルでもCentOSに限ってこのエラーが発生しているとのこと。
最後の手段、qt48を手動インストール。
CentOS6.6にしてからこのサイトを参考にインストール。
丸一晩かかったがqt48のインストールに成功。
sudo gem install capybara-webkit
成功。
結局ここまでたどり着くのに二日半かかってしまった。