北野坂備忘録

主にインストールやプログラミングのメモを載せています。

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

 

 成功。
 結局ここまでたどり着くのに二日半かかってしまった。