Tiny Core Linux
Tiny Core Extensions => TCE Q&A Forum => Topic started by: mcewanw on May 30, 2009, 08:56:55 AM
-
Using tc2.x
After submitting an extension for espeak, I wanted to produce extensions for yasr (Screen Reader) and speech-dispatcher (which allows yasr to communicate with espeak). I have managed to compile yasr without difficulty, but I'm getting nowhere with speech-dispatcher version 0.6.7(no major problem compiling the same on Puppy 4.2.1, but I don't really use Puppy much any more, preferring TC's way of doing things). Note that I have successfully compiled and installed dotconf-1.0.13, which is required by speech-dispatcher. Following ./configure --prefix=/usr/local, here is what I get with speech-dispatcher after entering 'make all'. Anyone have any idea what is wrong? (I've temporarily tried moving glib-2.0 to /usr/include which is where it is found in Puppy Linux, but to no avail on TC):
root@box:/mnt/hda4/downloads/yasr/speech-dispatcher-0.6.7# make all
make all-recursive
make[1]: Entering directory `/mnt/hda4/downloads/yasr/speech-dispatcher-0.6.7'
Making all in src
make[2]: Entering directory `/mnt/hda4/downloads/yasr/speech-dispatcher-0.6.7/src'
Making all in server
make[3]: Entering directory `/mnt/hda4/downloads/yasr/speech-dispatcher-0.6.7/src/server'
gcc -DHAVE_CONFIG_H -I. -I../.. -Wall -I../../intl/ -I/usr/local/share/locale -DSYS_CONF=\"/usr/local/etc/speech-dispatcher\"
-DSND_DATA=\"/usr/local/share/sounds/speech-dispatcher\" -DMODULEBINDIR=\"/usr/local/lib/speech-dispatcher-modules\"
-DVERSION=\"0.6.7\" -DPACKAGE=\"speech-dispatcher\" -DPIDPATH=\"\" -g -O2 -MT speechd.o -MD -MP -MF .deps/speechd.Tpo -c -o speechd.o speechd.c
speechd.c:24:21: error: gmodule.h: No such file or directory
In file included from speechd.c:28:
speechd.h:49:18: error: glib.h: No such file or directory
-
It worked OK for me with the standard tc setup:
$ export CFLAGS="-march=i486 -mtune=i686 -Os -pipe"
$ export CXXFLAGS="-march=i486 -mtune=i686 -Os -pipe -fno-exceptions -fno-rtti"
$ export PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/local/lib/pkgconfig
Then I compiled dotcom and loaded the glib2 and glib2-devs extensions and speech-dispatcher compiled..
-
Well I've tried a dozen times! And I've been using the standard TC compile options suggested in the Wiki (same as you suggest I believe). I have glib2 and glib2-devs. Below are the extensions I have according to /usr/local/tce.installed. I also have dotconf but compiled and installed it directly (though I have made a local extension for that too).
I'm happy to hear you managed to install it, but I'm frustrated that I'm having no such luck. I'll try from a completely blank tce.installed and add the main compiling environment. I suspect I am missing something to do with that compile environment (or perhaps you have introduced some subtle change on your system? - some symlink or LD_LIB Path or somesuch??).
I need to set up speech-dispatcher so that it all works optimally with yasr and espeak, but until I manage to compile it against espeak and alsa I remain pretty much stumped.
ls /usr/local/tce.installed
OSS fribidi libgnomecanvas
abiword gawk libgnomeprint
abiword-plugins gcc-binutils libgnomeprintui
advcomp gdb-6.8_dev libportaudio
alsa geany librsvg
atk glib1 libtool
base-devs glib2 libwmf
bash glib2-devs libxml2
bison gnumeric m4
cairo gperf make
coreutils graphics-libs-1 microperl-5.8.9
cramfs-utils grep mtpaint-3.21
dia gtk1 ntfs-3g
diffutils gtk2 pango
emelfm2 gtkdialog3 patch
espeak html2text pixman
expat2 hwmon-2.6.29.1-tinycore pppd
file input-2.6.29.1-tinycore pppsetup
findutils intltool-0.40.5 procps
firefox iptables sed
firewall-2.6.29.1-tinycore jwm ttf-bitstream-vera
flex libart wv
fontconfig libdotconf yasr
foxitreader libglade
-
I only tried quickly against dotcom and not against yasr, espeak, alsa, etc - note that I did not pull any compiling tricks like symlinks, etc (I would have mentioned them...).
Maybe the best suggestion I could make would be a clean boot and then only load the extensions you need to compile and the deps for speech-dispatcher.
-
Yes, I'll try that. You've certainly given me renewed hope!
-
Well... I'm getting nowhere.
I rebooted a clean TC2.x and loaded some extensions such that in /usr/local/tce.installed I now only have:
root@box:/mnt/hda4/downloads/yasr/speech-dispatcher-0.6.7# ls /usr/local/tce.ins
talled
advcomp glib2-devs make pppsetup
base-devs gcc-binutils jwm
bash glib2 libdotconf pppd
Then at the command line I copy then execute the three export lines for CFLAGS, CXXFLAGS, and PKG_CONFIG_PATH.
then I enter: ./configure --prefix=/usr/local
After that completes I enter: make all
And then I get the same errors mentioned in my thread-starting post above. i.e.:
sounds/speech-dispatcher\" -DMODULEBINDIR=\"/usr/local/lib/speech-dispatcher-modules\"
-DVERSION=\"0.6.7\" -DPACKAGE=\"speech-dispatcher\"
-DPIDPATH=\"\" -march=i486 -mtune=i686 -Os -pipe -MT speechd.o -MD -MP -MF .deps/speechd.Tpo -c -o speechd.o speechd.c
speechd.c:24:21: error: gmodule.h: No such file or directory
In file included from speechd.c:28:
speechd.h:49:18: error: glib.h: No such file or directory
At the moment, for simplicity, I don't have espeak or alsa installed.
The "unfound" files gmodule.h and glib.h are actually both present on my system: in /usr/local/include/glib-2.0/
-
How does "the compiler" know to look in /usr/local/include rather than just in /usr/include or does it?
-
pkgconfig is usually how ./configure gets it's info, and you don't appear to have it installed. I haven't looked to see if this app uses pkgconfig but it would be worth a try to install it.
-
usually you can tell the compiler to look in /usr/local/include by defining flags with ./configure. Use ./configure --help to see what is available.
-
pkgconfig is usually how ./configure gets it's info, and you don't appear to have it installed.
Yes, that could be it, I'll install extension pkg-config and try that.
-
Yes, that was it, thanks; I was missing pkg-config! I should have asked for help earlier - would have saved me a lot of time.