Welcome
Bruno.Cornec
Logout

 

E-speak: How To

This document serves as the first reading for all developers of e-speak. It provides the information you need to get started with e-speak. Included here is the information regarding building the product and running the sample programs available. Pointers to the development model of e-speak, the bug tracking mechanism, and important documents within e-speak are also provided.


The document contains the following sections:

  • Where to get e-speak
  • Dependency on external tools
  • Building and installing e-speak
  • Running e-speak Core and basic components
  • Running sample programs
  • Troubleshooting e-speak
  • Problem submission
  • Additional important reading

  • Where to get e-speak

    The source distribution of e-speak is available at http://www.e-speak.net. You can download the entire source-set or browse through the source on the web. You can also download the binary version if you are not interested in downloading the complete source set. All the documents are available for downloading as well as browsing at the open source site.

    If you want to skip the build and jump straight to using e-speak, then the product distribution of e-speak is also available for download from Hewlett-Packard's e-speak developer's network in tested, self-installing packages.


    Dependency on external tools

    The following table illustrates the various components of e-speak which depend upon third party tools. Some of the tools are freely distributed and are part of the e-speak source distribution itself, while the other tools must be obtained separately.
    E-speak Component Dependency external module Availability
    E-speak runtime JavaTM 1.1.8 or equivalent Java Runtime Environment (JRE); but get the JDK instead for development (required) Java Binaries freely downloadable from Sun (Windows) 
    Blackdown (Linux: use JDK 1.1.7v3)  and
    Hewlett Packard (HPUX) 
    Perl 5 (required) Perl 5 binaries and sources freely downloadable from PERL.COM
    E-speak build environment on Windows NT. Cygnus' cygwin tool-set. This tool-kit contains UNIX tools on Win32 platform. (required to compile on Windows) Freely downloadable from Cygnus
    E-speak build environment (all platforms) GNU make utility (required to build) Source freely available at the Free Software Foundation
    Binaries freely downloadable from The HP Porting Project (HPUX) 
    This is already included with Cygwin on NT, and is the default for Linux.
    JavaTM 1.1.x or equivalent Java compiler. (required to build) Binaries freely downloadable from Sun (Windows) 
    Blackdown (Linux) 
    Hewlett Packard (HPUX)
    C compiler for c-messaging tools (under src/c/c-esi directory) (optional) GNU 'C' compiler is available freely from the  
    Free Software Foundation (Linux and HPUX)
    This is already included with Cygwin on NT, and is the default on Linux.
    E-speak Core; for the optional persistent configuration OracleTM 8.0.x (should be accessible using JDBC) as backend Database when using a persistent metadata repository (optional) The database is not freeware. Available from Oracle
    Advertising Service (when configured for optional external lookup) Any LDAP server (optional) Various free and commercial implementations. Links to most LDAP servers available at LDAP World
    Management Services Java Servlet Development Kit (JSDK) 2.0 servlet API (required) Freely available for download from Sun (Get version 2.0 for compatibility with Apache)
    Web E-Speak (XML/HTTP messaging support) JSDK 2.0 (required) Sun (as above)
    Apache Web Server and Apache/Jserv module (or other servlet compliant web server) (optional, but recommended) Apache source and binaries available freely at Apache's web site with patches for servlet support at the 
    Apache Java Project
    XML Java API (openxml.jar) (included) OpenXML Bundled with e-speak
    Samples (PrintServer and ManagedPrintServer) Swing classes (required if using JDK 1.x) Binaries freely available at Sun


    Building and installing e-speak

    After downloading the source (for example, to ) follow the steps described below.
    To build e-speak:
    On UNIX platforms
    On Windows NT platform
    1. Make sure that GNU make is in your path, before any native make available on the system.
    2. Set environment variable J_HOME, SWING_HOME, JSDK_HOME to point to the installation directories of your Java Development Kit (JDK), JFC/Swing (Swing), and Java Servlet (Jsdk).
    3. Change directory to where e-speak sources reside, e.g.
    4. Run configure script, which assigns values to the various parameters in /include.mk file.

    5. sh ./configure
    6. Build the product, by running

    7. make all 
      make all_docs
    1. Make sure that cygwin toolkit is in your path before any other similar utilities. 
    2. Set environment variable J_HOME, SWING_HOME, JSDK_HOME to point to the installation directories of your Java Development Kit (JDK), JFC/Swing (Swing), and Java Servlet (Jsdk).
    3. Set environment variable CONFIG_SHELL to cygwin's bash, e.g.
      set CONFIG_SHELL=bash
    4. Set environment variable MAKE_MODE to unix, e.g.
      set MAKE_MODE=unix
    5. Change directories to and run the configure script. to set appropriate values in /include.mk

    6. bash ./configure
    7. Build e-speak by running,

    8. make all
      make all_docs
    The e-speak class files are created under /lib, while the class files for the contrib components get created under /contrib/lib directory. To build a particular component (a directory and all subdirectories/subcomponents inside it) run the command: make -C

    Note: There are several third party packages are needed in order to run the above configure command successfully. They are, mainly, JDK, Swing, Jsdk, and Javadoc mentioned in the Dependency section above.
    Here is the partial output from "sh ./configure --help" (UNIX) or "bash ./configure --help" (NT):

    ...
    --enable and --with options recognized:
      --with-J_HOME=FULLDIR      full path of JDK home, or

    set the environment varialbe J_HOME to it.


    JDKs can be downloaded from:


    http://java.sun.com (NT JDK1.1.8)


    http://www.hp.com/java (HP-UX JDK1.1.8)


    http://www.blackdown.org (Linux JDK1.1.7v3)

      --with-SWING_HOME=FULLDIR  (for jdk11x only) full home path of swingall.jar,

    or set the environment varialbe SWING_HOME to it.


    Swing can be downloaded from:


    http://java.sun.com/products/jfe

      --with-JSDK_HOME=FULLDIR   full JSDK2.0 home path of jsdk.jar, or 
                                 set the environment varialbe JSDK_HOME to it.
                                 JSDK2.0 can be downloaded from:
                                 http://java.sun.com/products/servlet
      --with-JDOC_HOME=FULLDIR   full JDK home path of javadoc, or
                                 set the environment varialbe JDOC_HOME to it.
                                 JDK1.2.x javadoc has a better output format
                                 So if J_HOME is pointing to JDK1.1.x, you can
                                 still use JDK1.2.x javadoc. If it is not 
                                 set, the default will be set to $J_HOME.
                                 See --with-J_HOME option for download sites.

    Sample commands for NT:

    1. Suppose the Cygnus' cygwin installed under d:\cygnus, set the following environment variables:

    2. set PATH=d:\cygnus\cygwin-b20\H-i586-cygwin32\bin;%PATH%
      set CONFIG_SHELL=bash
      set MAKE_MODE=UNIX

      Make sure cygwin is set before any of other similar NT unix tools, like mks toolkit.

    3. Suppose Perl 5.x package installed under d:\perl, set PATH environment variable:

    4. set PATH=d:\perl\bin;%PATH%
    5. Suppose your e-speak source code is under d:\es and change to it:

    6. cd /c d:\es
    7. Suppose Jdk package installed under d:\jdk, Swing package installed under d:\swing, and Jsdk package installed under d:\jsdk, run the following configure command:

    8. bash configure --with-J_HOME=d:/jdk --with-SWING_HOME=d:/swing --with-JSDK_HOME=d:/jsdk

      Also note if the environment variables are set as follows, all the above
      --with-xxxxx switches are not needed unless you need to override the environment variables:
      set J_HOME=d:/jdk
      set SWING_HOME=d:/swing
      set JSDK_HOME=d:/jsdk
       

    9. Now Makefile got generated so e-speak can be compiled as:

    10. make all
       
    11. Javadoc can be created as:

    12. make all_docs

      It is recommended to use javadoc from JDK 1.2 or above since it has better output format.

    Sample commands for Unix in csh:
    1. Suppose the Gnu make and perl 5.x installed under /usr/local/bin, set the following PATH environment variable:

    2. setenv PATH /usr/local/bin:%PATH%
    3. Suppose your e-speak source code is under /home/mine/es and change to it:

    4. cd /home/mine/es
    5. Suppose Jdk package installed under /usr/local/jdk, Swing package installed under /usr/local/swing, and Jsdk package installed under /usr/local/jsdk, run the following configure command:

    6. sh configure --with-J_HOME=/usr/local/jdk --with-SWING_HOME=/usr/local/swing --with-JSDK_HOME=/usr/local/jsdk

      Also note if the environment variables are set as follows, all the above
      --with-xxxxx switches are not needed unless you need to override the environment variables:
      setenv J_HOME /usr/local/jdk
      setenv SWING_HOME /usr/local/swing
      setenv JSDK_HOME /usr/local/jsdk
       

    7. Now Makefile got generated so e-speak can be compiled as:

    8. make all
       
    9. Javadoc can be created as:

    10. make all_docs

      It is recommended to use javadoc from JDK 1.2 or above since it has better output format.

     

    To install e-speak:

    • Change directory to
    • Create installation by running (make sure perl executable is in your path),

    • make install
    • The install script looks for an environment variable ESPEAK_HOME. If set, it tries to create an installation image specified by ESPEAK_HOME. Otherwise, it asks for the location of installation and will create the installation of e-speak as per user input.


    Running e-speak Core and basic components

    Once e-speak is installed, you can start the e-speak Core and other basic services of e-speak by using the run.pl script which is available in the <installDir>/bin directory, where <installDir> points to the directory of installation.
    • Set environment variable ESPEAK_HOME which points to the <installDir>.
    • Run the Core and basic components:

    • perl <installDir>/bin/run.pl
    • You can also start the various components individually, using run.pl script (Run perl run.pl -h to see help for using the run.pl script) or by creating your own ini file. A few common ini files are available under <installDir>/config directory.


    Running sample programs

    Sample programs are provided to get you started with e-speak. The source code for various sample programs is available under <installDir>/samples. Each sample is equipped with a Readme file, which describes the steps to run the sample.


    Trouble shooting e-speak

    A Trouble Shooting Guide is available on the site that allows one to get a work-around or solution to the most commonly faced problems.


    Problem submission

    The e-speak bug tracking system is available where you can submit a new bug or enhancement request, query the existing bug tracking database, determine the status of a previously submitted bug, etc.

    Additional important reading

    The following documents are available with e-speak, and form the recommended reading for the serious e-speak developer: