Raspberry Pi 3にChinachuをインストールするときのメモ
Raspberry Pi 3にChinachuをインストールする際、公式のインストールガイドのままではうまくインストールできないので、対処法のメモ。
ffmpegを自前でビルドする
commit 48afd7でスタティックビルド版のffmpegをインストールするようになっているが、スタティックビルド版にはarmhf版がない。 そこで、インストール時は自前ビルドを行う古いバージョンのスクリプトを用いるようにする。
$ wget https://github.com/kanreisa/Chinachu/raw/b34cbbf1eddf60be678ec3e5d441e7c3cb6818bc/chinachu -O chinachu_old $ chmod +x chinachu_old
コンパイルオプションを修正する
Raspberry Pi 3のCPUであるCortex-A53の場合、gccに-march=nativeオプションをつけるとクラッシュしてしまうバグが存在する。
また、nodeのビルドはコンパイルオプションがARMv7以下でないと失敗する。
そこで、-march=native
の代わりにRaspberry Pi 2と同等のコンパイルオプションを使うように修正する。
--- chinachu_old 2016-05-05 01:23:16.456616228 +0900 +++ chinachu_old 2016-05-05 01:23:22.606583914 +0900 @@ -77,8 +77,8 @@ ensure_dir "$USR_DIR/src" ensure_dir "$USR_DIR/bin" - export CFLAGS="-O2 -w -pipe -march=native" - export CXXFLAGS="-O2 -w -pipe -march=native" + export CFLAGS="-O2 -w -pipe -mcpu=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard" + export CXXFLAGS="-O2 -w -pipe -mcpu=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard" export MAKEFLAGS="-j $((`grep processor /proc/cpuinfo | wc -l` + 1)) -l 3" echo "Chinachu Installer Menu:"
上記の修正を加えたインストールスクリプトを実行することで、nodeおよびffmpegのビルドが正常に完了するようになる。
$ ./chinachu_old installer