This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

FW: Building a MinGW build of aspell without much luck :(


Hi all, I'm new to cygwin and mingw, and UNIX style development in
general hence I would really appreciate some help here. I'm trying to
build the aspell (http://aspell.sourceforge.net) win32 binary using the
mingw compiler in the cygwin environment but am getting some linker
problems.

Here's how I've setup my cygwin and mingw:
1)downloaded setup.exe and selected everything in the develpment
package. 2)following the instructions given at
http://www.colomsat.net.co/freehost/ngiraldo/cppcygwin.html, I've
downloaded the mingw-extra-2.95.3.tar.gz packaged and installed it into
the appropriate directories.

Here's what I used to configure aspell:
1) set env variables CFLAGS and CXXFLAGS to '-mno-cygwin'
2) run the following configuration options:
for pspell (required to compile aspell):
./configure --bindir=/cygdrive/d/aspell --prefix=/cygdrive/d/aspell
--disable-shared --disable-ltdl for aspell: ./configure
--bindir=/cygdrive/d/aspell --prefix=/cygdrive/d/aspell --disable-shared
--enable-win32-relocatable --disable-curses

And finally, here's what I get (note that pspell compiled and installed
without a hitch):
----------------- partial compiler output after this line
-------------------- Making all in src
make[2]: Entering directory
`/cygdrive/d/Projects/thirdparty/aspell-.33.7.1/src'

g++ -DHAVE_CONFIG_H -I. -I. -I.. -I../ -I../util -I../lib/inc 
g++ -I../filter  -I/cy
gdrive/d/aspell/include      -mno-cygwin -c aspell.cc
g++ -DHAVE_CONFIG_H -I. -I. -I.. -I../ -I../util -I../lib/inc 
g++ -I../filter  -I/cy
gdrive/d/aspell/include      -mno-cygwin -c termios.cc
g++ -DHAVE_CONFIG_H -I. -I. -I.. -I../ -I../util -I../lib/inc 
g++ -I../filter  -I/cy
gdrive/d/aspell/include      -mno-cygwin -c text_chain.cc
/bin/sh ../libtool --mode=link g++  -mno-cygwin  -o aspell.exe  aspell.o
termios .o text_chain.o ../lib/libaspell.la mkdir .libs
g++ -mno-cygwin -o aspell.exe aspell.o termios.o text_chain.o  
g++ ../lib/.libs/liba
spell.a -L/usr/lib/mingw -L/usr/lib/w32api
-L/usr/lib/gcc-lib/i686-pc-cygwin/2.9
5.3-5 -lstdc++ -lmingw32 -lgcc -lmoldname -lmsvcrt -lmingw32 -luser32
-lkernel32  -ladvapi32 -lshell32 -lmingw32 -lgcc -lmoldname -lmsvcrt
-lstdc++ -lmingw32 -lg cc -lmoldname -lmsvcrt -lmingw32 -luser32
-lkernel32 -ladvapi32 -lshell32 -lming w32 -lgcc -lmoldname -lmsvcrt
-L/cygdrive/d/aspell/lib -L/cygdrive/d/Projects/th
irdparty/pspell-.12.2/modules/.libs -lstdc++ -lmingw32 -lgcc -lmoldname
-lmsvcrt  -lmingw32 -luser32 -lkernel32 -ladvapi32 -lshell32 -lmingw32
-lgcc -lmoldname - lmsvcrt /cygdrive/d/aspell/lib/libpspell-impl.a
-L/cygdrive/d/Projects/thirdpart y/pspell-.12.2/interface/.libs
/cygdrive/d/aspell/lib/libpspell.a /cygdrive/d/as
pell/lib/libpspell-modules.a -lstdc++ -lmingw32 -lgcc -lmoldname
-lmsvcrt -lming w32 -luser32 -lkernel32 -ladvapi32 -lshell32 -lmingw32
-lgcc -lmoldname -lmsvcrt  -lstdc++ -lmingw32 -lgcc -lmoldname -lmsvcrt
-lmingw32 -luser32 -lkernel32 -lad vapi32 -lshell32 -lmingw32 -lgcc
-lmoldname -lmsvcrt -lstdc++ -lmingw32 -lgcc -l moldname -lmsvcrt
-lmingw32 -luser32 -lkernel32 -ladvapi32 -lshell32 -lmingw32 - lgcc
-lmoldname -lmsvcrt
/cygdrive/d/aspell/lib/libpspell.a(manager_impl.o)(.text+0x141b):manager
_impl.cc
: undefined reference to `opendir'
/cygdrive/d/aspell/lib/libpspell.a(manager_impl.o)(.text+0x1443):manager
_impl.cc
: undefined reference to `readdir'
/cygdrive/d/aspell/lib/libpspell.a(manager_impl.o)(.text+0x19a7):manager
_impl.cc
: undefined reference to `closedir'
collect2: ld returned 1 exit status
make[2]: *** [aspell.exe] Error 1
make[2]: Leaving directory
`/cygdrive/d/Projects/thirdparty/aspell-.33.7.1/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory
`/cygdrive/d/Projects/thirdparty/aspell-.33.7.1'
make: *** [all-recursive-am] Error 2


It appears to me that somehow, the linker is not finding the
implementation of opendir, readdir and closedir which are found in the
header dirent.h. Also, I noted that the linker is linking in the
directories /usr/lib/mingw, /usr/lib/w32api and
/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5  (deduced from the line
"-L/usr/lib/mingw -L/usr/lib/w32api
-L/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5") which are empty! What
gives?

Any help is greatly appreciated.

Cheers


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]