[sword-devel] Diatheke

Tero Favorin sword-devel@crosswire.org
Fri, 26 Oct 2001 09:05:08 +0300


Timothy,

Here's a message I posted a while back, when I got similar compile time 
errors. Hope it helps.

----------

I happened to come across same compile problem that has come across the 
list couple of times before, where people got undefined references 
"tests" directory. What seems to be happening is that make is failing to 
update libsword.a file when building the archive. This happens mostly 
when build directory has only one file (e.g. modules/comments, 
modules/tests, etc.) with notable exception of utilfuns. So these files 
never get placed in archive, so when building tests directory these 
references are naturally undefined.

I just haven't got a clue what's causing this. A workaround that worked 
for me was to delete those object files that were not being put into 
archive, rerun make and now those files were placed into archive so 
build completed succesfully.

Trying "make clean" before "make" didn't help.

What is really puzzling is that I've just changed computers and 
installed fresh RH7.1 with all updates. My previous machine was running 
the same configuration and I neved had any problems building Sword.

I'm using GNU make 3.79.1.

Tero Favorin

Timothy R. Butler wrote:

>Hi everyone,
>  I'm trying to setup Diatheke/Web for my portal site, and I have run into 
>some trouble compiling the base code directory for sword-libs (I haven't 
>gotten to the Diatheke-specific stuff yet). 
>  The interesting parts of the environment that I am installing in is that it 
>is (1) a shared hosting environment in which I only have user level access, 
>and (2) it's running the old 6.2 version of RedHat.
>
>  Here is the error I get after it compiles for a while when typing "make 
>clean; make" in the root codebase directory (from the CVS):
>
>-----
>
>make[1]: Entering directory `/home/uninet/cvs/sword/lib'
>make[1]: Nothing to be done for `just-targets'.
>make[1]: Leaving directory `/home/uninet/cvs/sword/lib'
>make -C tests just-targets
>make[1]: Entering directory `/home/uninet/cvs/sword/tests'
>gcc -I../include/ -D_GNU_SOURCE -D_GNU_SOURCE -pipe -Wall -Wno-format 
>-pedantic -pedantic  -fomit-frame-pointer -ggdb -O0 -DUSBINARY -m486 -o 
>keytest keytest.cpp   -L../lib/  -lsword -lstdc++ -lz
>../lib//libsword.a(swkey.o):/home/uninet/cvs/sword/src/keys/swkey.cpp:26: 
>undefined reference to `stdstr(char **, char const *)'
>../lib//libsword.a(swkey.o):/home/uninet/cvs/sword/src/keys/swkey.cpp:36: 
>undefined reference to `stdstr(char **, char const *)'
>../lib//libsword.a(swkey.o):/home/uninet/cvs/sword/src/keys/swkey.cpp:115: 
>undefined reference to `stdstr(char **, char const *)'
>../lib//libsword.a(swkey.o):/home/uninet/cvs/sword/src/keys/swkey.cpp:127: 
>undefined reference to `stdstr(char **, char const *)'
>../lib//libsword.a(versekey.o):/home/uninet/cvs/sword/src/keys/versekey.cpp:148: 
>undefined reference to `stdstr(char **, char const *)'
>../lib//libsword.a(versekey.o):/home/uninet/cvs/sword/src/keys/versekey.cpp:281: 
>more undefined references to `stdstr(char **, char const *)' follow
>../lib//libsword.a(versekey.o):/home/uninet/cvs/sword/src/keys/versekey.cpp:297: 
>undefined reference to `strstrip(char *)'
>../lib//libsword.a(versekey.o):/home/uninet/cvs/sword/src/keys/versekey.cpp:406: 
>undefined reference to `isroman'
>../lib//libsword.a(versekey.o):/home/uninet/cvs/sword/src/keys/versekey.cpp:409: 
>undefined reference to `from_rom'
>../lib//libsword.a(versekey.o):/home/uninet/cvs/sword/src/keys/versekey.cpp:417: 
>undefined reference to `stricmp(char const *, char const *)'
>../lib//libsword.a(versekey.o):/home/uninet/cvs/sword/src/keys/versekey.cpp:417: 
>undefined reference to `stricmp(char const *, char const *)'
>../lib//libsword.a(versekey.o):/home/uninet/cvs/sword/src/keys/versekey.cpp:566: 
>undefined reference to `isroman'
>../lib//libsword.a(versekey.o):/home/uninet/cvs/sword/src/keys/versekey.cpp:569: 
>undefined reference to `from_rom'
>../lib//libsword.a(versekey.o):/home/uninet/cvs/sword/src/keys/versekey.cpp:577: 
>undefined reference to `stricmp(char const *, char const *)'
>../lib//libsword.a(versekey.o):/home/uninet/cvs/sword/src/keys/versekey.cpp:577: 
>undefined reference to `stricmp(char const *, char const *)'
>../lib//libsword.a(versekey.o):/home/uninet/cvs/sword/src/keys/../../include/swobject.h:29: 
>undefined reference to `stricmp(char const *, char const *)'
>../lib//libsword.a(localemgr.o):/home/uninet/cvs/sword/src/mgr/localemgr.cpp:183: 
>undefined reference to `stdstr(char **, char const *)'
>../lib//libsword.a(swmgr.o):/home/uninet/cvs/sword/src/mgr/swmgr.cpp:157: 
>undefined reference to `stdstr(char **, char const *)'
>../lib//libsword.a(swmgr.o):/home/uninet/cvs/sword/src/mgr/swmgr.cpp:159: 
>undefined reference to `stdstr(char **, char const *)'
>../lib//libsword.a(swmgr.o):/home/uninet/cvs/sword/src/mgr/swmgr.cpp:163: 
>undefined reference to `stdstr(char **, char const *)'
>../lib//libsword.a(swmgr.o):/home/uninet/cvs/sword/src/mgr/swmgr.cpp:165: 
>undefined reference to `stdstr(char **, char const *)'
>../lib//libsword.a(swmgr.o):/home/uninet/cvs/sword/src/mgr/swmgr.cpp:218: 
>more undefined references to `stdstr(char **, char const *)' follow
>../lib//libsword.a(swmgr.o):/home/uninet/cvs/sword/src/mgr/swmgr.cpp:542: 
>undefined reference to `stricmp(char const *, char const *)'
>../lib//libsword.a(swmgr.o):/home/uninet/cvs/sword/src/mgr/swmgr.cpp:544: 
>undefined reference to `stricmp(char const *, char const *)'
>../lib//libsword.a(swmgr.o):/home/uninet/cvs/sword/src/mgr/swmgr.cpp:546: 
>undefined reference to `stricmp(char const *, char const *)'
>../lib//libsword.a(swmgr.o):/home/uninet/cvs/sword/src/mgr/swmgr.cpp:551: 
>undefined reference to `stricmp(char const *, char const *)'
>../lib//libsword.a(swmgr.o):/home/uninet/cvs/sword/src/mgr/swmgr.cpp:553: 
>undefined reference to `stricmp(char const *, char const *)'
>../lib//libsword.a(swmgr.o):/home/uninet/cvs/sword/src/mgr/swmgr.cpp:561: 
>more undefined references to `stricmp(char const *, char const *)' follow
>../lib//libsword.a(swmgr.o):/home/uninet/cvs/sword/src/mgr/swmgr.cpp:594: 
>undefined reference to `zCom::zCom(char const *, char const *, char const *, 
>int, SWCompress *, SWDisplay *, char, char, char)'
>../lib//libsword.a(swmgr.o):/home/uninet/cvs/sword/src/mgr/swmgr.cpp:598: 
>undefined reference to `stricmp(char const *, char const *)'
>../lib//libsword.a(swmgr.o):/home/uninet/cvs/sword/src/mgr/swmgr.cpp:603: 
>undefined reference to `stricmp(char const *, char const *)'
>../lib//libsword.a(swmgr.o):/home/uninet/cvs/sword/src/mgr/swmgr.cpp:607: 
>undefined reference to `stricmp(char const *, char const *)'
>../lib//libsword.a(swmgr.o):/home/uninet/cvs/sword/src/mgr/swmgr.cpp:611: 
>undefined reference to `stricmp(char const *, char const *)'
>../lib//libsword.a(swmgr.o):/home/uninet/cvs/sword/src/mgr/swmgr.cpp:615: 
>undefined reference to `stricmp(char const *, char const *)'
>../lib//libsword.a(swmgr.o):/home/uninet/cvs/sword/src/mgr/swmgr.cpp:620: 
>more undefined references to `stricmp(char const *, char const *)' follow
>../lib//libsword.a(filemgr.o):/home/uninet/cvs/sword/src/mgr/filemgr.cpp:47: 
>undefined reference to `stdstr(char **, char const *)'
>../lib//libsword.a(swlocale.o):/usr/include/g++-2/stl_tree.h:540: undefined 
>reference to `stdstr(char **, char const *)'
>../lib//libsword.a(swlocale.o):/usr/include/g++-2/stl_alloc.h:503: undefined 
>reference to `stdstr(char **, char const *)'
>../lib//libsword.a(rawtext.o):/home/uninet/cvs/sword/src/modules/texts/rawtext/rawtext.cpp:328: 
>undefined reference to `stdstr(char **, char const *)'
>../lib//libsword.a(hrefcom.o):/home/uninet/cvs/sword/src/modules/comments/hrefcom/../../../../include/swobject.h:33: 
>undefined reference to `stdstr(char **, char const *)'
>../lib//libsword.a(rawld.o):/home/uninet/cvs/sword/src/modules/lexdict/rawld/rawld.cpp:103: 
>more undefined references to `stdstr(char **, char const *)' follow 
>../lib//libsword.a(gbfstrongs.o):/usr/include/g++-2/std/bastring.cc:168: 
>undefined reference to `stricmp(char const *, char const *)'
>../lib//libsword.a(gbffootnotes.o):/usr/include/g++-2/std/bastring.cc:168: 
>undefined reference to `stricmp(char const *, char const *)'
>../lib//libsword.a(gbfheadings.o):/usr/include/g++-2/std/bastring.cc:168: 
>undefined reference to `stricmp(char const *, char const *)'
>../lib//libsword.a(gbfmorph.o):/usr/include/g++-2/std/bastring.cc:168: 
>undefined reference to `stricmp(char const *, char const *)'
>../lib//libsword.a(utf8cantillation.o):/usr/include/g++-2/std/bastring.cc:168: 
>undefined reference to `stricmp(char const *, char const *)'
>../lib//libsword.a(utf8hebrewpoints.o):/usr/include/g++-2/std/bastring.cc:168: 
>more undefined references to `stricmp(char const *, char const *)' follow
>../lib//libsword.a(swmodule.o):/usr/include/g++-2/stl_alloc.h:412: undefined 
>reference to `stdstr(char **, char const *)'
>../lib//libsword.a(swmodule.o):/usr/include/g++-2/stl_alloc.h:412: undefined 
>reference to `stdstr(char **, char const *)'
>../lib//libsword.a(swmodule.o):/usr/include/g++-2/stl_alloc.h:412: undefined 
>reference to `stdstr(char **, char const *)'
>../lib//libsword.a(swmodule.o):/home/uninet/cvs/sword/src/modules/swmodule.cpp:127: 
>undefined reference to `stdstr(char **, char const *)'
>../lib//libsword.a(swmodule.o):/home/uninet/cvs/sword/src/modules/swmodule.cpp:142: 
>undefined reference to `stdstr(char **, char const *)'
>../lib//libsword.a(swmodule.o):/home/uninet/cvs/sword/src/modules/swmodule.cpp:157: 
>more undefined references to `stdstr(char **, char const *)' follow
>../lib//libsword.a(swmodule.o):/home/uninet/cvs/sword/src/modules/swmodule.cpp:452: 
>undefined reference to `stristr(char const *, char const *)'
>../lib//libsword.a(swmodule.o):/home/uninet/cvs/sword/src/modules/swmodule.cpp:461: 
>undefined reference to `stristr(char const *, char const *)'
>../lib//libsword.a(swconfig.o):/usr/include/g++-2/stl_tree.h:375: undefined 
>reference to `strstrip(char *)'
>../lib//libsword.a(swconfig.o):/usr/include/g++-2/stl_tree.h:401: undefined 
>reference to `strstrip(char *)'
>collect2: ld returned 1 exit status
>make[1]: *** [keytest] Error 1
>make[1]: Leaving directory `/home/uninet/cvs/sword/tests'
>make: *** [tests/targets] Error 2
>
>-----
>
>  Any ideas on what might be wrong?
>
>  Thanks,
>       Tim
>
>

-- 
Tero Favorin
Email: tero@favorin.com
Phone: +358-41-4449077