[sword-devel] CVS and gcc3.0.4 compile error - fix included

Phillip Hoerter sword-devel@crosswire.org
07 May 2002 00:13:26 -0400


Hello 

I am running Mandrake 8.2 using gcc3.0.4 that came with it, on a dual
processor system.  While attempting to compile sword cvs I got this
error.  I solved it; the instructions are below. It appears that
gcc3.0.x has some differences that cause problems.  I hope the fixes
help a little. 

Thanks 
Phill 

Here is the error messsage: 

g++ -DUSE_AUTOTOOLS -DGLOBCONFPATH=\"/usr/local/etc/sword.conf\" -DUNIX
-I. -I. -I.. -I../include -g -O2 -ftemplate-depth-25 -c
../src/modules/filters/gbfstrongs.cpp -MT gbfstrongs.lo -MD -MP -MF
.deps/gbfstrongs.TPlo  -fPIC -DPIC 
../src/modules/filters/gbfstrongs.cpp: In member function `virtual char 
   GBFStrongs::ProcessText(char*, int, const SWKey*, const SWModule*)': 
../src/modules/filters/gbfstrongs.cpp:85: `isdigit' undeclared (first
use this 
   function) 
../src/modules/filters/gbfstrongs.cpp:85: (Each undeclared identifier is
   reported only once for each function it appears in.) 
make[2]: *** [gbfstrongs.lo] Error 1 
make[2]: Leaving directory `/home/phill/src/sword/lib' 
make[1]: *** [all-recursive] Error 1 
make[1]: Leaving directory `/home/phill/src/sword' 
make: *** [all] Error 2 


Solution: 
Add 
#include <ctype.h> 
to the file src/modules/filters/gbfstrongs.cpp 

Same thing with src/modules/filters/thmlstrongs.cpp 

src/modules/filters/thmlstrongs.cpp needs #include <stdarg.h> 
src/modules/filters/gbfosis.cpp needs #include <stdarg.h> 
src/modules/filters/greeklexattribs.cpp needs #include <ctype.h> 
tests/localetest.cpp needs #include <iostream.h> 
tests/keycast.cpp needs #include <iostream.h> 

tests/treeidxtest.cpp needs just after the includes 
using std::string; using std::cout; using std::endl; 

examples/cmdline/search.cpp needs #include <iostream.h> 
examples/cmdline/threaded_search.cpp needs #include <iostream.h>