FreeBSDのports
gnome-speech-0.4.25_2 GNOME text-to-speech API
ですが、しばらく前からmakeすると
cc -DHAVE_CONFIG_H -I. -I../.. -I../.. -I../.. -I../../gnome-speech -I/usr/local/include/libbonobo-2.0 -I/usr/local/include/bonobo-activation-2.0 -I/usr/local/include/orbit-2.0 -DORBIT2=1 -pthread -I/usr/local/include/glib-2.0 -I/usr/local/include -Wall -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wno-sign-compare -I/usr/include/espeak -I/usr/local/include -O2 -pipe -fno-strict-aliasing -MT espeakspeaker.o -MD -MP -MF .deps/espeakspeaker.Tpo -c -o espeakspeaker.o espeakspeaker.c
espeaksynthesisdriver.c:32:23: error: speak_lib.h: No such file or directory
espeakspeaker.c:31:23: error: speak_lib.h: No such file or directory
In file included from espeaksynthesisdriver.h:35,
from espeaksynthesisdriver.c:34:
espeakspeaker.h:52: error: expected specifier-qualifier-list before 'espeak_VOICE'
In file included from espeaksynthesisdriver.c:34:
espeaksynthesisdriver.h:81: error: expected declaration specifiers or '...' before 'espeak_PARAMETER'
espeaksynthesisdriver.h:85: error: expected declaration specifiers or '...' before 'espeak_VOICE'
以下省略
という感じで、エラーになってました。
ようするにspeak_lib.hというファイルを見つけられない、というのが原因なので、いつも手でMakefileを書き換えていました。
gnome-speech-0.4.25/drivers/espeak/Makefile
にて
CPPFLAGS = -I/usr/local/include
となっているところを
CPPFLAGS = -I/usr/local/include -I/usr/local/include/espeak
に変更するだけなのですが・・・なんか毎回これが必要で面倒。どうして、いつまでたっても直らないんだろう?と思っていたのですが、ちょっと調べてみました。
https://forums.freebsd.org/viewtopic.php?&t=40287
を斜め読みしたところ、gnome-speechにて、make configして、オプションESPEAKを選択してからmakeすればいい、というようなことが書かれていたのでやってみました。
make rmconfig
make cofig
デフォルトではESPEAKは選択されていないので、選択する
make
たしかにできました。
Makefileにはちゃんとこんな感じで書いてありました。
espeak_INCLUDES = /usr/local/include/espeak
espeak_LIBS = -L/usr/local/lib -lespeak
状況を整理。
- make configして、ESPEAKを選択しないと、エラーになる
- make configして、ESPEAKを選択すると、エラーにならない
もしかして、espeakがインストールされているのがいけないのかもしれない・・・
pkg info -r espeak してみると
espeak-1.47.11:
speech-dispatcher-0.8
gnome-speech-0.4.25_2
とりあえず
pkg delete speech-dispatcher
pkg delete -f gnome-speech
pkg delete espeak
してから
cd /usr/ports/accessibility/gnome-speech
make rmconfig
make config ・・・ESPEAKは選択しない
make
うまくいきました
どうもespeakがインストールされていると、gnome-speechのESPEAK無し(portsのデフォルト)が失敗するようです。
FreeBSD10でバイナリパッケージしか使っていない別のPCでは、gnome-speechはインストールされていましたが、espeakはインストールされていませんでした。なるほど。
0 件のコメント:
コメントを投稿