source: trunk/third/aspell/README @ 20163

Revision 20163, 12.9 KB checked in by ghudson, 20 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r20162, which included commits to RCS files with non-trunk default branches.
Line 
1next up previous contents
2Next: 3. Basic Usage Up: GNU Aspell 0.50.5 Previous: 1. Introduction   
3Contents
4
5Subsections
6
7  * 2.1 Requirements
8  * 2.2 Obtaining
9  * 2.3 Support
10  * 2.4 Helping Out
11  * 2.5 Compiling & Installing
12      + 2.5.1 Generic Install Instructions
13      + 2.5.2 Curses Notes
14      + 2.5.3 Upgrading from Aspell .33/Pspell .12
15      + 2.5.4 Upgrading from a pre-release snapshot
16      + 2.5.5 Sun WorkShop 6 Compiler Notes
17      + 2.5.6 Win32 Notes
18          o 2.5.6.1 Getting
19          o 2.5.6.2 Building
20          o 2.5.6.3 (PD)Curses
21          o 2.5.6.4 Directories
22          o 2.5.6.5 Installer
23          o 2.5.6.6 Win32 consoles
24   
25  * 2.6 Using aspell-import
26
27--------------------------------------------------------------------------
28
292. Getting Started
30
31
322.1 Requirements
33
34Aspell requires gcc 2.95 (or better) as the C++ compiler. Other C++
35compilers should work with some effort. Other C++ compilers for mostly
36POSIX compliant (Unix, Linux, BeOS, CygWin) systems should work with out
37any major problems provided that the compile can handle all of the
38advanced C++ features Aspell uses. C++ compilers for non-Unix systems
39might work but it will take some work. Aspell at very least requires a
40Unix-like environment (sh, grep, sed, tr, etc...) in order to build.
41Aspell also uses a few POSIX functions when necessary.
42
432.2 Obtaining
44
45The latest version can always be found at GNU Aspell's home page at http:/
46/aspell.net.
47
482.3 Support
49
50Support for Aspell can be found on the Aspell mailing lists. Instructions
51for joining the various mailing lists (and an archive of them) can be
52found off the Aspell home page at http://aspell.net.
53
542.4 Helping Out
55
56I have very little time to work on Aspell so I desperately need other
57people to help with the development of Aspell. There are a lot of things
58that need to be done before I consider Aspell complete. See section B.2
59for a list of them. I would really appreciate some help with doing them.
60If you are interested in helping with one of them please let me know.
61
62I am also looking for someone to eventually take over the maintenance and
63development of Aspell. If you are interested please contact me directly.
64
652.5 Compiling & Installing
66
672.5.1 Generic Install Instructions
68
69    ./configure && make
70
71For additional configure options type ./configure --help. You can control
72what C++ compiler is used by setting the environmental variable CXX before
73running configure and you can control what flags are passed to the C++
74compile via the environmental variable CXXFLAGS. Static libraries are
75disabled by default since static libraries will not work right due to the
76mixing of C and C++. When a C program links with the static libraries in
77Aspell it is likely to crash because Aspell's C++ objects are not getting
78initialized correctly. However, if for some reason you want them, you can
79enable them via --enable-static.
80
81Aspell should then compile with out any additional user intervention. If
82you run into problems please first check the sections below as that might
83solve your problem.
84
85To install the program simply type
86
87    make install
88
89After Aspell is installed at least one dictionary needs to be installed.
90You can find them at http://aspell.net/. The "aspell" program must be in
91your path in order for the dictionaries to install correctly.
92
93If you do not have Ispell or the traditional Unix "spell" utility
94installed on your system than you should also copy the compatibly scripts
95"ispell" and "spell" located in the scripts/ directory into your
96binary directory which is usually /usr/local/bin so that programs that
97expect ispell or spell command will work correctly.
98
992.5.2 Curses Notes
100
101If you are having problems compiling termios.cc than the most likely
102reason is due to incompatibilities with the curses implementation on your
103system. If this is the case than you can explicitly disable the curses
104library with --disable-curses. By doing this you will lose the nice full
105screen interface but hopefully you will be able to at least get Aspell to
106compile correctly.
107
108If the curses library is installed in a non-standard location than you can
109specify the library and include directory with --enable-curses=«lib» and
110--enable-curses-include=«dir». Lib can either be the complete path of the
111library (for example "/usr/local/curses/libcurses.a"), the name of the
112library (for example "ncurses") or a combined location and library in
113the form "-L«lib dir» -l«lib»" (for example "-L/usr/local/ncurses/lib
114-lncurses"). Dir is the location of the curses header files (for example
115"/usr/local/ncurses/include").
116
1172.5.3 Upgrading from Aspell .33/Pspell .12
118
119Aspell has undergone an extremely large number of changes since the
120previous Aspell/Pspell release. For one thing Pspell has been merged with
121Aspell so there in no longer two separate libraries you have to worry
122about.
123
124Because of the massive changes between Aspell/Pspell and Aspell 0.50 you
125may want to clean out the old files before installing the the new Aspell.
126To do so do a "make uninstall" in the original Aspell and Pspell source
127directories.
128
129The way dictionaries are handled has also changed. This includes a change
130in the naming conventions of both language names and dictionaries. Due to
131the language name change, your old personal dictionaries will not be
132recognized. However, you can import the old dictionaries by running the
133"aspell-import" script. This also means that dictionaries designed to
134work with older versions of Aspell are not likely to function correctly.
135Fortunately new dictionary packages are available for most languages. You
136can find them off of the Aspell home page at http://aspell.net.
137
138The Pspell ABI is now part of Aspell except that the name of everything
139has changed due to the renaming of Pspell to Aspell. In particular please
140note the following name changes:
141
142    pspell -> aspell
143    manager -> speller
144    emulation -> enumeration
145    master_word_list -> main_word_list
146
147Please also note that the name of the language-tag option has changed to
148lang. However, for backward compatible the language-tag option will still
149work.
150
151However, you should also be able to build applications that require Pspell
152with the new Aspell as a backward compatibility header file is provided.
153
154Due to a change in the way dictionaries are handled, scanning for .pwli
155files in order to get find out which dictionaries are available will no
156longer work. This means that programs that relied on this technique may
157have problems finding dictionaries. Fortunately, GNU Aspell now provided a
158uniform way to list all installed dictionaries via the C API. See the file
159"list-dicts.c" in the examples/ directory for an example of how to due
160this. Unfortunately there is isn't any simply way to find out which
161dictionaries are installed which will work with both the old Aspell/Pspell
162and the new GNU Aspell.
163
1642.5.4 Upgrading from a pre-release snapshot
165
166At the last minute I decided to merge the "speller-util" program into
167the main "aspell" program. You may right to remove that speller-util
168program to avoid confusion. This also means that dictionaries designed to
169work with the snapshot will no longer work with the official release.
170
1712.5.5 Sun WorkShop 6 Compiler Notes
172
173Thanks to Flemming Frandsen Aspell should be able to compile with the Sun
174WorkShop 6 Compiler. However, you may still have some problems. See the
175README file in the suncc/ directory for more detail.
176
1772.5.6 Win32 Notes
178
1792.5.6.1 Getting
180
181The latest version of the native Aspell/Win32 port can be found at http://
182aspell.net/win32.
183
1842.5.6.2 Building
185
186There are two basically different ways of building Aspell using GCC for
187Win32: You can either use the Cygwin compiler, which will produce binaries
188that depend on the posix layer in cygwin1.dll. The other way is using
189MinGW GCC, those binaries use the native C runtime from Microsoft
190(MSVCRT.DLL). If you intend to use or link against the Aspell libraries
191using a native Win32 compiler (e.g. MS Visual C++), you will need the
192MinGW built ones to avoid problems caused by the different runtime
193libraries.
194
195Building Aspell using Cygwin: This works exactly like on other posix
196compatible systems using the "configure && make && make install" cycle.
197Some versions of Cygwin GCC will fail to link, this is caused by an
198incorrect libstdc++.la in the /lib directory. After removing or renaming
199this file, the build progress should work (GCC-2.95 and GCC-3.x should
200work).
201
202Building Aspell using MinGW: To compile Aspell with the MinGW compiler,
203you will need at least GCC-3.2 (as shipped with MinGW-2.0.3) and some GNU
204tools like rm and cp. The origin of those tools doesn't matter, it has
205shown to work with any tools from MinGW/MSys, Cygwin or Linux. To build
206Aspell, move into the win32 subdirectory and type "make". You can enable
207some additional build options by either commenting out the definitions at
208the head of the Makefile or passing those values as environment variables
209or at the make command line. Following options are supported:
210
211DEBUGVERSION
212    If set to "1", the binaries will include debugging information
213    (resulting in a much bigger size).
214CURSESDIR
215    Enter the path to the pdcurses library here, in order to get a nicer
216    console interface (see below).
217MSVCLIB
218    Enter the filename of MS lib.exe here, if you want to build libraries
219    that can be imported from MS Visual C++.
220WIN32_RELOCATABLE
221    If set to "1", Aspell will detect the prefix from the path where the
222    DLL resides (see below for further datails).
223TARGET
224    Sets a prefix to be used for cross compilation (e.g. "/usr/local/bin/
225    i586-mingw32msvc-" to cross compile from linux).
226
227There are also a MinGW compilers available for Cygwin and Linux, both
228versions are able to compile Aspell using the prebuilt Makefile. While the
229Cygwin port automatically detects the correct compiler, the Linux version
230depends on setting the "TARGET" variable in the Makefile (or environment)
231to the correct compiler prefix.
232
233Other compilers may work. There is a patch for MS Visual C++ 6.0 available
234in the win32/ directory, but it needs a lot of changes to the Aspell
235sources. It has also been reported that the Intel C++ compiler can be used
236for compilation.
237
2382.5.6.3 (PD)Curses
239
240In order to get the nice full screen interface when spell checking files a
241curses implementation that does not require Cygwin is required. The
242PDCurses (http://pdcurses.sourceforge.net) implementation is known to
243work, other implementations may work however they have not been tested.
244See the previous section for information on specifying the location of the
245curses library and include file.
246
247Curses notes:
248
249  * PDcurses built with MinGW needs to be compiled with -DPDC_STATIC_BUILD
250    to avoid duplicate declaration of DllMain when compiling aspell.exe.
251  * The curses enabled version can cause trouble in some shells (MSys
252    rxvt, emacs) and will produce errors like "initscr() LINES=1 COLS=1:
253    too small". Use a non-curses version for those purposes.
254
2552.5.6.4 Directories
256
257If Aspell is compiled with WIN32_RELOCATABLE=1, it can be run from any
258directory: It will set «prefix» according to its install location
259(assuming it resides in «prefix»\bin). Your personal wordlists will be
260saved in the «prefix» directory with their names changed from ".aspell.
261<lang>.*" to "<lang>.*" (you can override the path by setting the HOME
262environment variable).
263
2642.5.6.5 Installer
265
266The installer registers the DLLs as shared libraries, you should increase
267the reference counter to avoid the libraries being uninstalled if your
268application still depends on them (and decrease it again when uninstalling
269your program). The reference counters are located under:
270
271HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs
272
273The install location and version numbers are stored under
274
275HKLM\SOFTWARE\Aspell
276
2772.5.6.6 Win32 consoles
278
279The console uses a different encoding than GUI applications, changing this
280to to a Windows encoding (e.g. 1252) is not supported on Win9x/Me. On
281WinNT (and later) those codepages can be set by first changing the console
282font to "lucida console", then changing the codepage using "chcp
2831252".
284
285Some alternative shells (e.g. MSys' rxvt or Cygwin's bash) do a codepage
286conversion (if correctly set up), so running Aspell inside those shells
287might be a workaround for Win9x.
288
2892.6 Using aspell-import
290
291The aspell-import Perl script will look for old personal dictionaries and
292will import them into GNU Aspell. It will look for both Ispell and Aspell
293ones. To use it just run it from the command prompt. If you get an error
294about /usr/bin/perl not being found than instead try "perl «bindir»/
295aspell-import". When running the script if you get a message like:
296
297    Error: No word lists can be found for the language "de".
298
299This means that you have not installed support for the given language, in
300this case "de" for German. To rectify the situation download and install
301a dictionary designed to work with GNU Aspell 0.50 or better.
302
303--------------------------------------------------------------------------
304next up previous contents
305Next: 3. Basic Usage Up: GNU Aspell 0.50.5 Previous: 1. Introduction   
306Contents
307Kevin Atkinson 2004-02-10
Note: See TracBrowser for help on using the repository browser.