まとめ
- node-openjtalkをインストールするには、libiconvが必要。
- libiconvのインストールにはコツが必要。
- node-openjtalkをインストールするには、node.jsのv0.12.*が必要。
何かというと
現在、slack読み上げbotちゃんを作っていて、
通知音再生 (そこはかとない時間) 読み上げ音声再生となっていました。
なぜ?
読み上げ音声再生の処理が
1.通知音再生 ⇒ 2.テキストから音声ファイル作成 ⇒ 3.音声再生になっていたため、です。
使っていたライブラリが、"テキストを渡すと、音声ファイルを再生するまでやってから返す"という作りだったので、
"テキストを渡すと、音声ファイルを作ってくれる"ものを探してました。
ちなみに今使っているもの
こちら、導入はとても楽でした!
欲しいもの見つけた
こちらのライブラリは、音声ファイル作成までを行ってくれる作りになってました!
npm installでコケる
脳死でとりあえずnpm installをたたきました。
$ npm install node-openjtalk
するとエラーが・・・
(略) npm ERR! Linux 4.1.17+ npm ERR! argv "/home/pi/.nodebrew/node/v5.6.0/bin/node" "/home/pi/.nodebrew/curr ent/bin/npm" "install" "node-openjtalk" npm ERR! node v5.6.0 npm ERR! npm v3.6.0 npm ERR! code ELIFECYCLE npm ERR! node-openjtalk@1.1.1 install: `node-pre-gyp install --build-from-source ` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the node-openjtalk@1.1.1 install script 'node-pre-gyp install --build-from-source'. npm ERR! Make sure you have the latest version of node.js and npm installed. npm ERR! If you do, this is most likely a problem with the node-openjtalk packag e, npm ERR! not with npm itself. npm ERR! Tell the author that this fails on your system: npm ERR! node-pre-gyp install --build-from-source npm ERR! You can get information on how to open an issue for this project with: npm ERR! npm bugs node-openjtalk npm ERR! Or if that isn't available, you can get their info via: npm ERR! npm owner ls node-openjtalk npm ERR! There is likely additional logging output above. npm ERR! Please include the following file with any support request: npm ERR! /home/pi/work/slack-read-outer-bot/npm-debug.log
npmのページには、でかでかとlibconvが必要だ、と書いてありました。
私の目が節穴すぎる。
libconvのインストール
libconvのインストールは、こちらを参考にしました!
libiconvのインストールでこけた
makeが途中でコケました。。。
(略) In file included from progname.c:26:0: ./stdio.h:1010:1: error: ‘gets’ undeclared here (not in a function) _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); ^ Makefile:914: recipe for target 'progname.o' failed make[2]: *** [progname.o] Error 1 make[2]: Leaving directory '/usr/local/src/libiconv/libiconv-1.14/srclib' Makefile:865: recipe for target 'all' failed make[1]: *** [all] Error 2 make[1]: Leaving directory '/usr/local/src/libiconv/libiconv-1.14/srclib' Makefile:33: recipe for target 'all' failed make: *** [all] Error 2
"gets is a security hole - use fgets instead"でググってみたところ
この行がよくないみたいで、削除する手順と、getsをfgetに書き換える手順がそれぞれ出てきました。
とりあえずこの行は削除しちゃいました。
- Raspberry Piでnagiosを動かす際に気をつけること nagios-pluginsのバグ - 水たまりより狭く、日本海溝より深く
- Mindmap - Linux を上手につかって
- SPEC OMP2012 のインストールメモ (Ubuntu 14.04) - Qiita
configure ⇒ makeを再実行したところ、
ばっちりインストールできました。
それでもコケるnpm install
なんでだーと思って、gitのreadmeを見ていたら
NodeJSのバージョンはv0.12限定でサポートとのこと。。
$ nodebrew install v0.12.14
でv0.12をインストールして、今日は寝ます。
※binaryインストールは、v0.12系はなさそうでした。。
今日の教訓
- 依存するモノのバージョン確認って大事なんだなと
お詫び
ゴールデンウィークの自由研究であった、ansibleでラスパイをプロビジョニングなのですが
まだ未完成です。。。。