[Next] [Up] [Previous] [Contents]
Next: 3. The Aspell utility Up: Aspell .27.2 alpha A Previous: 1. Introduction   Contents

Subsections

2. Getting Started

2.1 Requirements

Aspell requires gcc 2.8/egcs as the C++ compiler or a reasonable C++ standard compliment compiler with SGI's STL or STLPort. Unless you are using version 3.11 of SGI's STL you will need to apply a patch to fix a bug in the rope container. To fix gcc 2.8/egcs (which included SGI's STL 3.0) apply the patch file stl_rope-30.diff to the file stl_rope.h (found in the g++ library directory) and to fix STLport 3.0 apply the patch file stl_rope-port.diff to the same file. No recompiling of gcc/egcs is needed. That latest version of SGI's STL (http://www.sgi.com/Technology/STL/), version 3.11, fixes the bugs in rope and thus does not need to be fixed. If it is impossible for you to modify the file stl_rope.h simply copy the file to the current directly and then apply the patch.

2.2 Obtaining

The latest version can always be found at Aspell's home page at http://metalab.unc.edu/kevina/aspell.

2.3 Support

Support for Aspell can be found on the Aspell mailing list. Instructions for joining the mailing list (and an archive of the mailing list) can be found off the Aspell home page at http://metalab.unc.edu/kevina/aspell.

2.4 Helping Out

The easiest thing you can do to help out it is too send me your .aspell.rpl file located in your home directory every so often. (Email kevinatk@home.com) This file is used to store the replacement pairs. Unless you specifically use programs that take advantage of this the learning from users mistake feature this file will be empty so there is no point in sending it.

I will then merge your misspelling with the rest of the data in the test kernel which will be used to help improve Aspell's suggestion intelligence.

Another thing you can do to help out is to try Aspell out on a diffrent langauge as the Langauge support system is compiletly untested.

2.5 Compiling & Installing

2.5.1 Generic Install Instructions

After you have read the sections below and have taken care of any special requirements for you system simply type

./configure && make
or

./configure -disable-static && make
to avoid making the static libraries on a system that supports shared libraries.

And Aspell should compile with out any additional user intervention. If you run into problems please send me a note at kevinatk@home.com with the compiler, system you are using and any error messages that were produced.

The default extra C++ flags are ``-g -O2'' if you wish to specify other ones simply set the environmental variable CXXFLAGS to the extra C++ flags you wish to use. For example to reduce code size set CXXFLAGS to ``-O2''.

To install the program simply type

make install
And thats all there is too it.

If something goes wrong first see section 2.5.4 as there is a good change that that will fix your problem.

2.5.2 Upgrading from version .25

The format of the personal replacement dictionary has changed. So, you will either need to rename or remove the file .aspell.rpl located in your home directory. If you have information in this file you would like to preserve please send me an email.

2.5.3 Upgrading from version .24

Because the location of the main word list moved you should probably do a make uninstall (with the old version of a Aspell) before upgrading to remove the old word lists. A make uninstall will not remove any personal word lists.

  
2.5.4 Compiling with Gcc 2.8 and Egcs

In order for aspell to function properly under Gcc 2.8 and above and Egcs you will need to apply the patch file stl_rope-30.diff. To do that cd over to the g++ include (normally a subdirectory in the normal include directory) and type in the command

patch < path/misc/stl_rope-30.diff
(where path is the full patch to the location where aspell was unpacked) to patch the necessary file. If it is impossible for you to do this copy the file stl_rope.h to the the directory src/ in the aspell distribution and then type the command:

patch < ../misc/stl_rope-30.diff
Then proceed as normal.

If you do not apply this command aspell will crash when used interactively to spell check files. ``Aspell -a'' and all other aspell modes will work fine however.

  
2.6 Using as a replacement for Ispell

Aspell can currently function as a drop in replacement for Ispell for programs that use Ispell through a pipe such as Emacs and LyX. It support the basic features of Ispell however it does not currently have a Latex or Nroff mode so there may be situations in which you still wish to use Ispell. Nevertheless, I have been using Aspell for Xemacs and LyX since the middle of September with out any problems.

The recommended way to use Aspell as a replacement for ispell is to change the Ispell command from within the program being uses. If that is impossible than the run-with-aspell script can be used. The format of the script is:

run-with-aspell <command>
where <command> is the name of the program with any optional arguments.

The old method of mapping Ispell to Aspell is discouraged because it can create compatibility problems with programs that actually require Ispell such as Ispell's own scripts.

2.6.1 Notes on the Learning from Users Mistakes feature

Because Ispell does not have this feature most all programs that expect Ispell as the spell checker will not be able to take advantage of this becuase they do not communcate back the replasments pairs.

If you want to add support for this feature in your program the best way to do it is to scan the version string for the string ``Aspell'' and if found use the ``$$ra'' command to communcate back to Aspell the replasment pairs. See section 3.1.1 for more information.

2.6.2 Emacs and Xemacs Notes

The easiest way to use Aspell with Emacs or Xemacs is to add this line:

(setq-default ispell-program-name "aspell")
to the end of your .emacs file.

For some reason version 3.0 of ispell.el (the lisp program that (x)emacs uses) want to reverse the suggestion list. To fix this add this line:

(setq-default ispell-extra-args '("-reverse"))
after the previous line in your .emacs file and it should solve the problem.

The latest version of ispell.el, version 3.1 (December 1, 1998), has the list reversing problem fixed. You can find it at http://www.kdstevens.com/~stevens/ispell-page.html.

2.6.3 LyX Notes

Version 1.0 of LyX provides support for Aspell learning for users mistake feature.

To use aspell with LyX 1.0 either change the spell_command option in the lyxrc file or use the run-with-aspell utility.


[Next] [Up] [Previous] [Contents]
Next: 3. The Aspell utility Up: Aspell .27.2 alpha A Previous: 1. Introduction   Contents

1999-03-01