Next: 3. Basic Usage Up: GNU Aspell 0.50.3 Previous: 1. Introduction Contents
Subsections

- 2.1 Requirements
- 2.2 Obtaining
- 2.3 Support
- 2.4 Helping Out
- 2.5 Compiling & Installing
  - 2.5.1 Generic Install Instructions
  - 2.5.2 General Problems
  - 2.5.3 Curses Notes
  - 2.5.4 Upgrading from Aspell .33/Pspell .12
  - 2.5.5 Upgrading from a pre-release snapshot
  - 2.5.6 Win32 Notes
- 2.6 Using aspell-import

# 2. Getting Started

#
2.1 Requirements

Aspell requires gcc 2.95 (or better) as the C++ compiler. Other C++ compilers should work with some effort. Other C++ compilers for mostly POSIX compliant (Unix, Linux, BeOS, CygWin) systems should work with out any major problems provided that the compile can handle all of the advanced C++ features Aspell uses. C++ compilers for non-Unix systems might work but it will take some work. Aspell at very least requires a Unix-like environment (sh, grep, sed, tr, etc...) in order to build. Aspell also uses a few POSIX functions when necessary.

# 2.2 Obtaining

The latest version can always be found at GNU Aspell's home page at `http://aspell.net`.

# 2.3 Support

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

# 2.4 Helping Out

I have very little time to work on Aspell so I desperately need other people to help with the development of Aspell. There are a lot of things that need to be done before I consider Aspell complete. See section B.1 for a list of them. I would really appreciate some help with doing them. If you are interested in helping with one of them please let me know.

I am also looking for someone to eventually take over the maintenance and development of Aspell. If you are interested please contact me directly.

# 2.5 Compiling & Installing

## 2.5.1 Generic Install Instructions

> ./configure && make

For additional configure options type ./configure --help. You can control what C++ compiler is used by setting the environmental variable CXX before running configure and you can control what flags are passed to the C++ compile via the environmental variable CXXFLAGS. Static libraries are disabled by default since static libraries will not work right due to the mixing of C and C++. When a C program links with the static libraries in Aspell it is likely to crash because Aspell's C++ objects are not getting initialized correctly. However, if for some reason you want them, you can enable them via --enable-static.

Aspell should then compile with out any additional user intervention. If you run into problems please first check the sections below as that might solve your problem.

To install the program simply type

> make install

After Aspell is installed at least one dictionary needs to be installed. You can find them at `http://aspell.net/`. The "aspell" program must be in your path in order for the dictionaries to install correctly.

If you do not have Ispell or the traditional Unix ``spell'' utility installed on your system than you should also copy the compatibly scripts ``ispell'' and ``spell'' located in the scripts/ directory into your binary directory which is usually /usr/local/bin so that programs that expect ispell or spell command will work correctly.

## 2.5.2 General Problems

Aspell does not use a released version of GNU Libtool. If you have a need to modify configure.ac or any of the Makefile.am's you should install the CVS version of libtool.

## 2.5.3 Curses Notes

If you are having problems compiling termios.cc than the most likely reason is due to incompatibilities with the curses implementation on your system. If this is the case than you can explicitly disable the curses library with --disable-curses. By doing this you will lose the nice full screen interface but hopefully you will be able to at least get Aspell to compile correctly.

If the curses library is installed in a non-standard location than you can specify the library and include directory with --enable-curses=«lib» and --enable-curses-include=«dir». Lib can either be the complete path of the library (for example ``/usr/local/curses/libcurses.a''), the name of the library (for example ``ncurses'') or a combined location and library in the form ``-L«lib dir» -l«lib»'' (for example ``-L/usr/local/ncurses/lib -lncurses''). Dir is the location of the curses header files (for example ``/usr/local/ncurses/include'').

## 2.5.4 Upgrading from Aspell .33/Pspell .12

Aspell has undergone an extremely large number of changes since the previous Aspell/Pspell release. For one thing Pspell has been merged with Aspell so there in no longer two separate libraries you have to worry about.

Because of the massive changes between Aspell/Pspell and Aspell 0.50 you may want to clean out the old files before installing the the new Aspell. To do so do a ``make uninstall'' in the original Aspell and Pspell source directories.

The way dictionaries are handled has also changed. This includes a change in the naming conventions of both language names and dictionaries. Due to the language name change, your old personal dictionaries will not be recognized. However, you can import the old dictionaries by running the ``aspell-import'' script. This also means that dictionaries designed to work with older versions of Aspell are not likely to function correctly. Fortunately new dictionary packages are available for most languages. You can find them off of the Aspell home page at `http://aspell.net`.

The Pspell ABI is now part of Aspell except that the name of everything has changed due to the renaming of Pspell to Aspell. In particular please note the following name changes:

> pspell -> aspell
> manager -> speller
> emulation -> enumeration
> master_word_list -> main_word_list

Please also note that the name of the language-tag option has changed to lang. However, for backward compatible the language-tag option will still work.

However, you should also be able to build applications that require Pspell with the new Aspell as a backward compatibility header file is provided.

Due to a change in the way dictionaries are handled, scanning for .pwli files in order to get find out which dictionaries are available will no longer work. This means that programs that relied on this technique may have problems finding dictionaries. Fortunately, GNU Aspell now provided a uniform way to list all installed dictionaries via the C API. See the file ``list-dicts.c'' in the examples/ directory for an example of how to due this. Unfortunately there is isn't any simply way to find out which dictionaries are installed which will work with both the old Aspell/Pspell and the new GNU Aspell.

## 2.5.5 Upgrading from a pre-release snapshot

At the last minute I decided to merge the ``speller-util'' program into the main ``aspell'' program. You may right to remove that speller-util program to avoid confusion. This also means that dictionaries designed to work with the snapshot will no longer work with the official release.

## 2.5.6 Win32 Notes

Due to limited time and my general dislike for Microsoft Windows, Win32 is not an officially supported platform for Aspell. However, it is possible for someone with experience with the Cgiwin development environment to create an Aspell binary and library (dll) using gcc as others have done so. The library, in theory, should be able to be used by any Win32 compiler if it is compiled right, but this theory has never been tested.

Aspell requires Gcc 2.95 (or better) and the Cgiwin development environment in order to compile on Win32. Both the Cgiwin or the Mingw version of Gcc should work. The Mingw version of Aspell will have slightly less functionality, but none of which is noticeable to the end user. Microsoft Visual C++, however, will not work with the released version of Aspell as the compiler is far to buggy as far as C++ compliance goes. However, there is a patch available which should allow Aspell to compile using Microsoft Visual C++ which you can find at `ftp://ftp.gnu.org/gnu/aspell`.

In order to get the nice full screen interface with Mingw when spell checking files a curses implementation that does not require Cygwin is required. The PDCurses (`http://www.lightlink.com/hessling/PDCurses/`) implementation is known to work, other implementations may work however they have not been tested. See the previous section for information on specifying the location of the curses library and include file.

If Aspell is compiled with --enable-win32-relocatable and the bindir is set to the same value as prefix (ie not «prefix»/bin) then the Aspell directory (what prefix is set to) can be relocated anywhere provided that none of the data files are moved around within the Aspell directory. Please not that this feature has not been tested with GNU Aspell 0.50 so it may or may not work.

The default paths for Aspell are designed for a Unix system and not a Win32 system so you might want to specify different ones when compiling Aspell. Also if the HOME environmental variable is not set Aspell will assume it is the current working directly. This may lead to your personal word lists being saved in unpredictable locations. To solve this either compile with --enable-win32-relocatable (see above) or specify the complete path of the personal and replacement word lists in aspell.conf. If Aspell is compiled with --enable-win32-relocatable than the personal word lists are saved in the prefix directory and the name is changed from ```.aspell.<lang>.*`'' to'' `<lang>.*`''.

If you have experience with using Cgiwin or a Unix like environment and are willing to maintain an Aspell binary and/or library I would be willing to work with you to get Aspell to compile. If you are seriously interested please post to aspell-devel@gnu.org after you have given it an initial try. However, if, after reading this section, you do not know how to start then you most likely do not have the necessary experience to be able to get Aspell to compile. Please do not bother me with questions such as ``I would like to use Aspell on Win32 but I have no idea what to do.'', as I am not willing to teach you the basics of working with a Unix like environment.

# 2.6 Using aspell-import

The aspell-import Perl script will look for old personal dictionaries and will import them into GNU Aspell. It will look for both Ispell and Aspell ones. To use it just run it from the command prompt. If you get an error about /usr/bin/perl not being found than instead try ``perl «bindir»/aspell-import''. When running the script if you get a message like:

  `Error: No word lists can be found for the language "de".`

This means that you have not installed support for the given language, in this case ``de'' for German. To rectify the situation download and install a dictionary designed to work with GNU Aspell 0.50 or better.

Next: 3. Basic Usage Up: GNU Aspell 0.50.3 Previous: 1. Introduction Contents