[sword-devel] Difficulties with Sword and BibleTime compilations

Louis A. Reed sword-devel@crosswire.org
Sun, 18 Aug 2002 19:48:32 -0500


Greetings to all on the list, and particularly to Joachim Ansorg and 
Chris Little, who have helped me tremendously in the past.  I am writing 
because I am experiencing some difficulties compiling sword-1.5.3 from 
the tar.gz source package and the current cvs files.  My setup is a 
Macintosh Performa 6116CD PowerPC with the original Motorola 601 
chip,72MB of RAM,dual SCSI CDROM Drives and a Seagate 18GB hard drive. 
My kernel is version 2.4.19rc3 compiled fro NuBus PPC machines by E. 
Kato from ftp.ppc.linux.or.jp, compiled with gcc-2.95.4.  I am running 
Yellow Dog Linux version 2.3 for PPC, which so far has been the best PPC 
distro for compiling that I have found for my old, slow NuBus-based Mac. 
  I am using gcc-2.95.4, autoconf 2.13-14, automake-1.4p5-2, qt-3.0.3 
with all the development libraries, and kde-3.0.1-1a, including kdelibs 
and kdelibs-devel, all from Yellow Dog Linux.

I was unable to compile Sword-1.5.3 with the ICU-1.7 rpms from SuSE, so 
at Joachim Ansorg's suggestion, I downloaded the latest ICU-2.2 sources 
and compiled and installed them, and then was able to compile the static 
sword libs from the Sword 1.5.3 release with ICU enabled. I then 
proceeded to attempt to compile Bibletime, but I get the following errors:

make[1]: Entering directory `/home/TARS/bibletime'
Making all in bibletime
make[2]: Entering directory `/home/TARS/bibletime/bibletime'
Making all in backend
make[3]: Entering directory `/home/TARS/bibletime/bibletime/backend'
g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I/usr/include/kde 
-I/usr/lib/qt-3.0.3/include -I/usr/X11R6/include 
-I/usr/local/include/sword  -DQT_THREAD_SUPPORT  -D_REENTRANT 
-DQT_NO_ASCII_CAST -DQT_NO_COMPAT -DQT_CLEAN_NAMESPACE -Wall -I../../ 
-I../../bibletime  -O2 -fsigned-char -fno-exceptions -fno-check-new  -c 
cswordmodulesearch.cpp
g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I/usr/include/kde 
-I/usr/lib/qt-3.0.3/include -I/usr/X11R6/include 
-I/usr/local/include/sword  -DQT_THREAD_SUPPORT  -D_REENTRANT 
-DQT_NO_ASCII_CAST -DQT_NO_COMPAT -DQT_CLEAN_NAMESPACE -Wall -I../../ 
-I../../bibletime  -O2 -fsigned-char -fno-exceptions -fno-check-new  -c 
cswordbackend.cpp
cswordbackend.cpp: In function `static const class QString 
CSwordBackend::configOptionName(CSwordBackend::FilterTypes)':
cswordbackend.cpp:385: warning: enumeration value `transliteration' not 
handled in switch
cswordbackend.cpp: In method `const bool CSwordBackend::useICU() const':
cswordbackend.cpp:413: `isICU' is not a member of type `SWMgr'
cswordbackend.cpp:414: warning: control reaches end of non-void function 
`CSwordBackend::useICU() const'
make[3]: *** [cswordbackend.o] Error 1
make[3]: Leaving directory `/home/TARS/bibletime/bibletime/backend'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/TARS/bibletime/bibletime'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/TARS/bibletime'
make: *** [all-recursive-am] Error 2

This is line 413 from /bibletime/bibletime/backend/cswordbackend.cpp:
   return SWMgr::isICU;
g++ is saying that 'isICU' is not a member of type 'SWMgr'

Could this be an error in the 
/bibletime/bibletime/backend/cswordbackend.cpp file?

I also attempted to compile sword from the cvs sources, but I 
consistently get the following error message:

make  all-recursive
make[1]: Entering directory `/home/TARS/sword'
Making all in lib
make[2]: Entering directory `/home/TARS/sword/lib'
source='../src/modules/common/rawstr.cpp' object='rawstr.lo' libtool=yes \
depfile='.deps/rawstr.Plo' tmpdepfile='.deps/rawstr.TPlo' \
depmode=gcc /bin/sh ../depcomp \
/bin/sh ../libtool --mode=compile g++ -DUSE_AUTOTOOLS 
-DICUDATA=\"/usr/lib/sword\" -DUNIX -D_ICU_ -I. -I. -I.. -I../include 
-g -O0 -Werror -c -o rawstr.lo `test -f 
'../src/modules/common/rawstr.cpp' || echo 
'./'`../src/modules/common/rawstr.cpp
g++ -DUSE_AUTOTOOLS -DICUDATA=\"/usr/lib/sword\" -DUNIX -D_ICU_ -I. -I. 
-I.. -I../include -g -O0 -Werror -c ../src/modules/common/rawstr.cpp 
-Wp,-MD,.deps/rawstr.TPlo
cc1plus: warnings being treated as errors
../src/modules/common/rawstr.cpp: In method `void RawStr::settext(const 
char *, const char *, long int = -1)':
../src/modules/common/rawstr.cpp:417: warning: comparison is always true 
due to limited range of data type
../src/modules/common/rawstr.cpp:499: confused by earlier errors, 
bailing out
make[2]: *** [rawstr.lo] Error 1
make[2]: Leaving directory `/home/TARS/sword/lib'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/TARS/sword'
make: *** [all] Error 2

I would appreciate it greatly if any of you have any suggestions that 
would help me to successfully compile sword and bibletime. I am 
particularly wanting to have good unicode support for the BHS Hebrew OT 
module (I want to use it with the Masoretic vowel pointings) and the 
various Greek NT modules with accents that are available from Crosswire.

Thank you all in advance for any help that you might offer.

Louis A. Reed

P. S. I finally succeded in compiling BibleTime-1.2.1, and also the 
latest cvs sources with the sword libs without icu support, but when I 
even try to set the Unicode Font from the BT preferences or open any of 
the unicode-based modules, my whole system freezes, which is very 
annoying.  I suspect that this may be due to the fact that I did not 
have the ICU libraries installed and enabled when I first compiled 
sword-1.5.3., but Joachim Ansorg tells me that I do not need ICU 
installed for unicode support, only for transliteration, although I 
thought that Troy Griffitts told me that I needed to have ICU installed 
to compile Sword.  I would appreciate any help and clarification with 
this also.