Typo
[linux_from_scratch_hints.git] / OLD / ispell.txt
blob408e137f10d466c58a1fcf957655a0578e95724f
1 TITLE:          Ispell
2 LFS VERSION:    4.1
3 AUTHOR:         Tom Harrison <harrist@freeshell.org>
5 SYNOPSIS:
6         ispell-3.2.06 is a spell checker. This brief hint is intended to
7 make installing it easier. I only installed the American English
8 dictionary, but dictionaries for some other languages are included. 
10 HINT:
11 The goal is to install ispell, and optionally to integrate an
12 existing word list into its dictionary.  My Mandrake distribution
13 includes the file /usr/share/dict/linux.words.  You might have this, or
14 a list of names or technical terms that you want to include.  You don't
15 have to include anything at all;  The documentation describes how to
16 build with only the default dictionary, and add a word list later if you
17 want to.  Make sure you have at least 10 MB of free space in /tmp, or
18 set TMPDIR to someplace that does:
19         
20         $ export TMPDIR=/var/tmp
21         
22 Download ispell-3.2.06.tar.gz from 
23 http://fmg-www.cs.ucla.edu/fmg-members/geoff/ispell.html. 
24 The md5sum of my copy is d434e1aef1a815294d5012c60c4c414a. 
25         
26 Unpack the source in an appropriate place, for example /usr/src, then cd
27 to ispell-3.2.06/
29 Next, correct a minor known typo in the file parse.y
30         
31         $ cp parse.y parse.y.backup &&
32         > sed '675d' parse.y.backup >parse.y
34 This is to prevent a syntax error from halting the build.
36         
37 Ispell is configured by editing a file called local.h.
38 local.h.samp is provided to get you started.
40         $ cp local.h.samp local.h
42 Configuration options are listed in the file config.X, and are
43 discussed in README.  Note: config.X is not to be changed.  All
44 changes are made to local.h.  Read the warning in local.h;  local.h
45 is not a normal C header file.  
47 Open the file local.h in the text editor of your choice.
48 Refer to config.X as you edit local.h;  Except for the changes listed
49 here, I used the defaults.  The default install is to /usr/local. 
51         Change "#undef USG" to "#define USG".
52         
53 At the end of the file, add these lines:
54         #define TERMLIB "-lncurses"
55         #define SORTTMP ""
56         #define WORDS "/usr/local/share/dict/linux.words"
57         #define LANGUAGES "{american,MASTERDICTS=american.med+,\
58         HASHFILES=americanmed+.hash,\
59         EXTRADICT=/usr/local/share/dict/linux.words}"
60 (Note that the previous #define is all one line, without back-slashes.)
61         #define MASTERHASH "americanmed+.hash"
63         Save local.h
65         $ make all
67         $ su
69         # make install
71 At least glance at the man page, and try it out.  You can use ispell
72 interactively to look up individual words, or you can spell-check
73 a file or files.  If you want to integrate ispell with EMACS, ispell.el
74 is available from
76         http://www.kdstevens.com/~stevens/ispell-page.html      
78 In addition to those provided, dictionaries for quite a few languages
79 other than English are available at
81         http://fmg-www.cs.ucla.edu/fmg-members/geoff/ispell-dictionaries.html
84 I hope this hint is useful.  If it doesn't work for you, or if you have ideas
85 for improvement or expansion, please let me know.