[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