Re: aspell 0.60.6 on Windows and using libaspell with SciTE

Abdelrazak Younes <[email protected]> Sun, 11 May 2008 18:43:11 +0200
Newsgroups gmane.comp.gnu.aspell.devel
Message-ID <[email protected]>
Hello,

I don't understand why our work on Aspell for Windows is still not yet 
known but, FYI, the LyX project has long solved the Windows packaging 
problem by forking Aspell. We use MSVC2008 in order to create the dlls 
that can be found inside this archive:

ftp://ftp.lyx.org/pub/lyx/contrib/lyx-windows-deps-msvc2008.zip

You will find other goodies like latest gettext and iconv.

We also maintains all knowns dictionnary in the latest format here:

http://wiki.lyx.org/Windows/Aspell6
ftp://ftp.lyx.org/pub/lyx/contrib/aspell6-windows/
http://developer.berlios.de/project/showfiles.php?group_id=5117&release_id=12973

IMHO anyone willing to maintain the Aspell Windows port should talk to 
us in order to avoid duplicated effort.

Abdel.


Laura nmi Michaels wrote:
> A lot of people on the SciTE mailing list (and probably other text editors 
> groups too) have been clamoring for a spell-checker to work with their 
> favorite editor.  I thought if I could find a decent C/C++ library that 
> handled spelling, I could write some code to output the results in a format 
> similar to the error messages from the gnu C/C++ and mingw C/C++ compilers.  
> When I found out aspell had such a library, I decided to download a copy of 
> the latest version 0.60.6 and test out my idea.  As I was trying to compile 
> the library with mingw and msys, I kept asking myself how did anyone get 
> this working on Windows.  After searching the Internet for 4 fixes to 
> various issues I came across, I finally got the library and aspell program 
> to build.  I went back to the aspell web site to locate some documentation 
> on the C/C++ library API and I noticed the Win32 page doesn't have the 
> latest version of aspell.  So, I guess people aren't getting this to compile 
> on Windows.  
> 
> I have some diffs to get aspell 0.60.6 compiling properly with mingw and 
> msys.  I also have a request for an additional program that I would really 
> like to see added to the examples directory.  I cannibalized the example-c.c 
> code to come up with something that would spell check a file and output 
> results to stdout in the error format used by gnu gcc.  I think this or 
> something like it would be a really useful example to add for anyone who's 
> been wanting to run aspell with a decent programming editor.  Hopefully 
> others could help contribute and make it a better and more robust program, 
> since the changes I made were quick ones just to get proof of concept.
> 
> The diffs for aspell on mingw with msys are included below.  I also have 
> some Windows executables.  I have library files in .a format, but 
> the ./configure, make, make install process doesn't appear to have created 
> any dlls.  I don't remember having any problems installing the English 
> dictionary files using the ./configure, make, make install process under 
> msys.  If you need executable files and/or library (.a files) packaged a 
> certain way, let me know and I can send them to someone if they want to 
> distribute them further.  The source code I wrote for better integrating 
> aspell with a programming editor is at:  
> http://www.distasis.com/cpp/aspellstdout.c
> It can be compiled with mingw using the command:
> g++ -o aspellstdout.exe aspellstdout.c -I\mingw\msys\local\include -L 
> \mingw\msys\lib -L \mingw\msys\local\lib -ldl -laspell -lintl -
> lgettextlib.dll -ldl.dll 
> I also compiled it on DeLi Linux using the command:
> g++ -o aspellstdout aspellstdout.c -I/usr/local/include -L /usr/lib -
> L /usr/local/lib -ldl -laspell -lintl
> On Windows, I'm using the basic libraries such as libiconv and libintl from 
> the GnuWin32 project, http://sourceforge.net/project/gnuwin32  I'm using the 
> libdl library from:
> http://code.google.com/p/dlfcn-win32/downloads/list
> Be sure to add the patch for extern C on the issues page.  That was one of 
> the fixes I needed to make to get things to compile.  I'm using the latest 
> copy of pdcurses from Sourceforge:  http://sourceforge.net/project/pdcurses  
> Don't know if it's needed, but I have my .profile file (used by msys) set up 
> as mentioned here:  http://www.distasis.com/cpp/mingw.htm#whatismsys
> 
> The examples in the example directory didn't compile when I used the 
> makefile.  Was able to get example-c to compile from command line in a 
> standard command prompt with the following command:
> g++ -o example-c.exe example-c.c  -I\mingw\msys\local\include -L 
> \mingw\msys\lib -L \mingw\msys\local\lib -ldl  -laspell -lintl -
> lgettextlib.dll -ldl.dll
> To run the example-c.exe afterwards, you need libdl.dll, libicon2.dll, 
> libintl3.dll in the same directory or in the path.
> 
> Here are the patches I needed for mingw and msys:
> 
> \mingw\msys\bin\diff \mingw\msys\home\old\aspell-0.60.6\common\config.hpp 
> \mingw\msys\home\new\aspell-0.60.6\common\config.hpp
> 15a16,19
>> #ifdef __MINGW32__
>> #define libintl_printf printf
>> #endif
>>
> 
> \mingw\msys\bin\diff \mingw\msys\home\old\aspell-0.60.6\common\file
> _util.cpp \mingw\msys\home\new\aspell-0.60.6\common\file_util.cpp
> 15a16
>> #include "asc_ctype.hpp"
> 
> \mingw\msys\bin\diff \mingw\msys\home\old\aspell-0.60.6
> \modules\speller\default\language.cpp \mingw\msys\home\michaelsl\new\aspell-
> 0.60.6\modules\spell
> er\default\language.cpp
> 23d22
> < #ifndef __MINGW32__
> 26d24
> < #endif
> 
> 
> Best wishes.
> Laura