Keywords: manual

Next: 3. Keeping in Touch Up: Portable Spell Checker Interface Previous: 1. Introduction Contents
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.

Next: 3. Keeping in Touch Up: Portable Spell Checker Interface Previous: 1. Introduction Contents