Subsections
   
  * 2.1 Obtaining
  * 2.2 Support
  * 2.3 Installation
      + 2.3.1 Generic Install Instructions
      + 2.3.2 General Problems
      + 2.3.3 Problems with Libltdl
      + 2.3.4 Upgrading from Pspell .11.2
  * 2.4 Helping Out

--------------------------------------------------------------------------

2. Getting Started

2.1 Obtaining

The latest version of pspell can always be found at the pspell home page
at http://pspell.sourceforge.net/

2.2 Support

Support for Pspell can be found on the Pspell mailing lists. Instructions
for joining the various mailing lists (and an archive of them) can be
found off the Pspell home page at http://pspell.sourceforge.net.

2.3 Installation

2.3.1 Generic Install Instructions

To install the library simply type

    ./configure
    make
    make install

Then install at least one pspell module. You can find more information
about available modules from the Pspell home page. This is all that should
be required for Pspell to function properly.

If you run into problems you can try disabling the building of shared
libraries with --disable-shared and/or the ltdl library which is used for
dynamically loading pspell modules with --disable-ltdl. If you do so you
will then need to manually link in the necessary modules by doing the
following:

    cd modules
    ./add-modules
    cd ..
    make
    make install

However this has not been known to work properly on most platforms. If you
are just installing Pspell so that you can compile and use the Aspell
utility then you should be okay as Aspell does not need any of Pspell
modules linked in. However, if you are trying to use Pspell with an
application that actually used the Pspell library such as PHP, AbiWord or
the like then you will likely run into problems.

By default a static library is also created you can turn this of by
passing the parameter --disable-static to configure. You can control what
C and C++ compiler is used by setting the environmental variable CC and
CXX respectfully before running configure and you can control what flags
are passed to the C and C++ compile via the environmental variable CFLAGS
and CXXFLAGS respectfully.

2.3.2 General Problems

Aspell does not use a released version of GNU Libtool. In previous
versions of aspell this will often create problems if you inadvertently
modify a file which causes Libtool to be called. However, as of Pspell
.12.2 this so no longer be a problem and automake, autoconf, or libtool
should not be called unless you specifically call them or if you configure
Aspell with --enable-maintainer-mode. If you do notice any of these
programs being called (and you did not configure with
--enable-maintainer-mode) please let me know about it. If you have a need
to modify configure.in or any of the Makefile.am's you should install the
multi-language-branch of the CVS version of libtool.

2.3.3 Problems with Libltdl

Pspell also requires libltdl, Libtool's portable "dlopen" wrapper
library, in order to function properly. If configure does not find libltdl
installed on your system it will generally compile it and install it with
the rest of Pspell. However, this can create problems if the compile
environment is different than the environment that Pspell runs under. For
example if configure was able to find libltdl at compile time but libltdl
is no longer visible at runtime you will run into problems. The easiest
thing to do here is copy the libltdl library found when compiling Pspell
into the library directly Pspell was installed in. Another potently source
of problems is the fact that the version of Libltdl found in the Pspell
distribution is not the same as the one found in the released version of
Libtool. In fact the two, while being source code compatible, are not
binary compatible. This should normally not be a problem because if
configure finds libltdl already installed on your system it will use that
one. However, this might cause problems if the compile environment is
different than the environment that Pspell runs under.

2.3.4 Upgrading from Pspell .11.2

Pspell .12 breaks binary and source code compatibility with Pspell .11.
Many of the PspellManager functions now also have a length parameter
specifying the length of the word. A length of -1 means that the string is
null terminated. This unfortunately breaks source code compatibility. To
upgrade to Pspell .12 either define the variable
USE_ORIGINAL_MANAGER_FUNCS before pspell.h in included or simply add a
length of -1 after each word passed in. Please see manager.h for the exact
phototype of the functions. Defining the variable
USE_ORIGINAL_MANAGER_FUNCS will allow your code to work with both Pspell
.11 and .12.

2.4 Helping Out

Right now the area I need the most help in is better shared library
support and on the ispell module. If you are interested in helping out
please contact me at kevina@users.sourceforge.net.

If you wish to work on Pspell you will need the multi-language-branch of
the CVS version of libtool. You will also need autoconf and automake. The
released version of autoconf has a small bug in it which will cause it to
think ".C" is the extension of executables. To fix this you need to
apply the patch "autoconf-exeext.patch" which can be found in the pspell
distribution.

--------------------------------------------------------------------------

