PhantomjsをRaspberry Piでコンパイルできた
PhantomjsをRaspberry Piでコンパイルできた
つまり、そのままではNGということ
build.shでCPU数のチェックで落ちてしまうので、対応が必要であった。
CPU_CORES=`grep -c ^processor /proc/cpuinfo`
を以下の様にコメントアウトしすることで、先に進める。
#CPU_CORES=`grep -c ^processor /proc/cpuinfo`
あと、コンパイルするとライセンスの関係なのか、以下のファイルが無いとエラーになるので、入れておく。
mkdir src/qt/src/3rdparty/pixman cd src/qt/src/3rdparty/pixman wget http://qt.gitorious.org/qt/qt/blobs/raw/4.8/src/3rdparty/pixman/pixman-arm-neon-asm.h wget http://qt.gitorious.org/qt/qt/blobs/raw/4.8/src/3rdparty/pixman/pixman-arm-neon-asm.S
あとはGstream関係のライブラリをapt-get installしていって 1日くらいかけてコンパイルが終わり、bin配下にphantomjsができる。 ちなみに、make installしてもとくにインストールされない臭い。
日本語フォントを表示するには
yahoo.co.jpなんかを試すとよくわかるのですが、2バイト文字が空白になってました。 解決方法にたどり着くまで、片っ端からapt-get installでそれっぽい日本語フォントを入れまくってました。。
IPAのフォントを~/.fonts配下に入れる。
FreeBSDとPhantomJSでスクリーンショットを撮る その2を参考にして以下みたいにするとよさそう。
mkfontdirとかは必要なくttfファイルさえおいておけばfontconfigが良きに計らってくれる模様。
wget http://ossipedia.ipa.go.jp/ipafont/IPAexfont00103.php mv IPAexfont00103.php IPAexfont00103.zip unzip IPAexfont00103.zip mkdir -p ~/.fonts/ipa cp IPAexfont00103/*.ttf ~/.fonts/ipa
/usr/share/fontsを無効にする
自前の~/.fontsディレクトリのみの指定が分からなかったので、 以下のように他のXクライアントにモロ影響でる暫定対応。
cd /usr/share sudo mv fonts fonts.bak sudo mkdir fonts fc-cache -rfv
ちなみに、Raspberry Pi用のバイナリを公開している先人がいらっしゃいます
コンパイルの方法も親切に書いてくれていました。。
-aeberhardo / phantomjs-linux-armv6l
日本語出すのに苦労した
fontconfigなにそれ?って感じだった。俺がLinuxをデスクトップのメインOSとして使ってた頃は XFree86でTrueTypeがようやく使えるようになった時代だったんだ。
結果的に必要なライブラリたち
pi@raspberrypi ~/work/phantomjs $ ldd bin/phantomjs /usr/lib/arm-linux-gnueabihf/libcofi_rpi.so (0xb6f8d000) libgio-2.0.so.0 => /usr/lib/arm-linux-gnueabihf/libgio-2.0.so.0 (0xb6e5e000) libgstapp-0.10.so.0 => /usr/lib/arm-linux-gnueabihf/libgstapp-0.10.so.0 (0xb6e4a000) libgstinterfaces-0.10.so.0 => /usr/lib/arm-linux-gnueabihf/libgstinterfaces-0.10.so.0 (0xb6e33000) libgstpbutils-0.10.so.0 => /usr/lib/arm-linux-gnueabihf/libgstpbutils-0.10.so.0 (0xb6e0a000) libgstvideo-0.10.so.0 => /usr/lib/arm-linux-gnueabihf/libgstvideo-0.10.so.0 (0xb6de9000) libgstbase-0.10.so.0 => /usr/lib/arm-linux-gnueabihf/libgstbase-0.10.so.0 (0xb6d8e000) libgstreamer-0.10.so.0 => /usr/lib/arm-linux-gnueabihf/libgstreamer-0.10.so.0 (0xb6cb4000) libgobject-2.0.so.0 => /usr/lib/arm-linux-gnueabihf/libgobject-2.0.so.0 (0xb6c65000) libgmodule-2.0.so.0 => /usr/lib/arm-linux-gnueabihf/libgmodule-2.0.so.0 (0xb6c59000) libgthread-2.0.so.0 => /usr/lib/arm-linux-gnueabihf/libgthread-2.0.so.0 (0xb6c4e000) libxml2.so.2 => /usr/lib/arm-linux-gnueabihf/libxml2.so.2 (0xb6b21000) libglib-2.0.so.0 => /lib/arm-linux-gnueabihf/libglib-2.0.so.0 (0xb6a3c000) libfreetype.so.6 => /usr/lib/arm-linux-gnueabihf/libfreetype.so.6 (0xb69ba000) libfontconfig.so.1 => /usr/lib/arm-linux-gnueabihf/libfontconfig.so.1 (0xb6985000) libdl.so.2 => /lib/arm-linux-gnueabihf/libdl.so.2 (0xb6979000) librt.so.1 => /lib/arm-linux-gnueabihf/librt.so.1 (0xb696a000) libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0xb694b000) libstdc++.so.6 => /usr/lib/arm-linux-gnueabihf/libstdc++.so.6 (0xb687e000) libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0xb680d000) libgcc_s.so.1 => /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0xb67e4000) libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0xb66b5000) /lib/ld-linux-armhf.so.3 (0xb6f9a000) libz.so.1 => /lib/arm-linux-gnueabihf/libz.so.1 (0xb6697000) libselinux.so.1 => /lib/arm-linux-gnueabihf/libselinux.so.1 (0xb6674000) libresolv.so.2 => /lib/arm-linux-gnueabihf/libresolv.so.2 (0xb6660000) liborc-0.4.so.0 => /usr/lib/arm-linux-gnueabihf/liborc-0.4.so.0 (0xb65ec000) libffi.so.5 => /usr/lib/arm-linux-gnueabihf/libffi.so.5 (0xb65d8000) liblzma.so.5 => /lib/arm-linux-gnueabihf/liblzma.so.5 (0xb65b1000) libpcre.so.3 => /lib/arm-linux-gnueabihf/libpcre.so.3 (0xb6570000) libexpat.so.1 => /lib/arm-linux-gnueabihf/libexpat.so.1 (0xb6546000) pi@raspberrypi
Raspberry Piで動かせた周辺機器など
USBハブ
SDカードリーダー
SDカード
関連記事
- PhantomJSのビルドでlibrary not found for -lQtWebKit #solved
- Raspberry Piの音を他のPCで再生する
- Raspberry PiでGW-USMicro300が使えた
- Raspberry Piが届いた!
- Raspberry Pi3でTensorflowをビルドして動かした