Installing FESTIVAL using Cygwin 1.3

message from Gerasimos Xydas to festival-talk
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Dear All,

This mail is not for asking help about a faulty compilation of FESTIVAL. Contrarily, it is for providing some info about a (finally) successful compilation of FESTIVAL using Cygwin on Windows 2000. Hope that it will be helpful for some people around. Probably, you might already know most of these, however, it is worth mention them. Please, any comment welcome.

So, this document describes my experience and the steps for a successful compilation of festival using Cygwin 1.3 on Windows (2000, I do not know about the rest versions). Note, that I did not use VC compiler.

1. Install Cygwin 1.3
---------------------
no comments here

2. Remember to unzip everything using Cygwin "tar" tool and not WinZip
----------------------------------------------------------------------
a good thing to remember

3. Create festival and tmp directory
------------------------------------
Decide where you want to install festival and copy all the downloaded ".gz" files in there. Here, I assume
"C:\festival".

Also, make a "C:\tmp" directory. It is required for festival to work properly.

--------------------------------------------------------
4. IMPORTANT! mount festival and tmp directory correctly
--------------------------------------------------------
If you continue with the compilation, it will succeed, and festival will seem to work great.
The tricky point here is when you type the command:

festival> libdir

where you will get something like:

(/cygdrive/c/festival/festival/lib)

What does that mean? When compiling using this version of Cygwin, Cygwin mounts your drive (e.g. "C:") in a directory called "/cygdrive/c", which does not exist outside Cygwin (where you run FESTIVAL). This means, that
FESTIVAL's default lib directory will be the non-existing one mentioned above.
This creates various of problems.

I tried to run festival with the --libdir flag, however, in this case SIOD functions failed (no idea why), as I had compiled with /cygdrive/c/festival/festival/lib

The solution to overcome this (before compilation) is to take care about where cygwin will mount your FESTIVAL directory.
Also, you will have to mount the "C:/tmp" directory because festival use this for (temporarily) storing files.

So, in the bash shell of cygwin type:

mount -f -s -b "C:/festival" "/festival"
mount -f -s -b "C:/tmp" "/tmp"

You can also check/modify the registry for mounted directories:
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2

5. Unzip the files (as normal) using "tar"
------------------------------------------
In the bash shell of cygwin type:

cd /festival
gzip -d *.gz
tar xvf speech_tools-1.2.2-release.tar
tar xvf festival-1.4.2-release.tar
tar xvf

------------------------------------
6. IMPORTANT! MODIFY A FILE
------------------------------------
In file

C:\festival\speech_tools\include\unix\EST_socket_unix.h

change line 61

#if defined(__CYGWIN__)
to
#if defined(__xCYGWIN__)

This has been reported by Miroslav Samek and it is caused because in the last release of
cygwin they put back the definition of socklen_t, as Rob Clark kindly informed me. So, this modification
is needed in Cygwin 1.3


7. Compile as normal
---------------------------
cd speech_tools
make

[wait for compilation...]

cd ../festival
make

[wait for compilation...]


[done!]...?


_______________
Gerasimos Xydas
MSc in Distributed Systems

University of Athens
Department of Informatics and Telecommunications
Division of Communication and Signal Processing
tel: (+30) 10 7275320
_______________________________________________


= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
Sent Via festival-talk@cstr.ed.ac.uk
To unsubscribe mail majordomo@cstr.ed.ac.uk