Raspberry Pi2でphantomjsをソースからビルドする

aptでインストールするとなぞのエラーに見舞われたのでソースから入れました。

ビルド方法は下記で動いている感があったので下記の通りしました。
https://www.bitpi.co/2015/02/11/compiling-phantomjs-on-raspberry-pi/

sudo apt-get install g++ flex bison-doc bison gperf \
 ruby ruby-dev perl libsqlite3-doc sqlite3-dev libfontconfig1-dev icu-doc libicu-dev libfreetype6 libssl-dev libpng12-dev libjpeg8-dev ttf-mscorefonts-installer fontconfig build-essential chrpath git-core openssl

日本が化けるのでフォントを入れます。

sudo apt-get install fonts-ipafont fontconfig
git clone git://github.com/ariya/phantomjs.git
cd phantomjs
git checkout 2.0
./build.sh

ビルドしてみると数時間後に下記エラーを吐いて止まっていました。エラーでググるとメモリ足りないからだよ4GB必要だよ的なissueを見つけました。デフォだとswapに100MBしかないのでなるほどと思いさっそくswapを追加します。

I/home/pi/phantomjs/src/qt/qtbase/include/QtCore -I.moc -o .obj/page/EventSource.o page/EventSource.cpp
g++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.9/README.Bugs> for instructions.
Makefile.WebCore.Target:125624: recipe for target '.obj/page/DOMWindow.o' failed
make[2]: *** [.obj/page/DOMWindow.o] Error 4
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory '/home/pi/phantomjs/src/qt/qtwebkit/Source/WebCore'
Makefile.WebCore:64: recipe for target 'sub-Target-pri-make_first-ordered' failed
make[1]: *** [sub-Target-pri-make_first-ordered] Error 2
make[1]: Leaving directory '/home/pi/phantomjs/src/qt/qtwebkit/Source/WebCore'
Makefile:173: recipe for target 'sub-Source-WebCore-WebCore-pro-make_first-ordered' failed
make: *** [sub-Source-WebCore-WebCore-pro-make_first-ordered] Error 2

swap領域を増やす

free コマンドで現在のswap領域の確認をします。
スワップ領域を変更するときは、/etc/dphys-swapfile を下記のように変更します。

CONF_SWAPSIZE=3048
CONF_MAXSWAP=3048

RAMが1GBなのでswapを3GBくらいにして、swap領域の再作成をします。

sudo /etc/init.d/dphys-swapfile restart

http://qapla.blog52.fc2.com/blog-entry-296.html

これでbuild.shを実行すると5時間後くらいかかってビルドが終わりました。
その後bin/に実行ファイルが作られているので適当な場所にコピーしておしまいです。

日本語の表示確認です。

pi@ras2:~/browser_bot $ phantomjs 
phantomjs> console.log('にほんご')
にほんご
undefined
phantomjs> 
pi@ras2:~/browser_bot $ phantomjs --version
2.0.1-development