I've been having lots of trouble trying to compile version 3.2.0b3 of
ht://Dig (from
http://www.htdig.org/) under GCC 3.0.3 and DEC Unix 4.0D.
Here's an example of my problems while trying to compile the htlib portion:
/bin/sh ../libtool --mode=link
c++ -g -O2 -Wall -fno-rtti -fno-exceptions -L/usr/local/lib -o
libht.la -rpath /opt/www/lib/htdig -release 3.2.0 Configuration.lo
Database.lo Dictionary.lo DB2_db.lo IntObject.lo List.lo Object.lo
ParsedString.lo Queue.lo QuotedStringList.lo Stack.lo String.lo
StringList.lo StringMatch.lo String_fmt.lo good_strtok.lo strcasecmp.lo
mktime.lo strptime.lo timegm.lo getcwd.lo memcmp.lo memcpy.lo memmove.lo
raise.lo strerror.lo HtCodec.lo HtWordCodec.lo HtVector.lo HtHeap.lo
HtPack.lo HtDateTime.lo HtRegex.lo HtRegexList.lo HtRegexReplace.lo
HtRegexReplaceList.lo HtVectorGeneric.lo HtMaxMin.lo HtWordType.lo
myqsort.lo md5.lo mhash_md5.lo snprintf.lo vsnprintf.lo -lz
rm -fr .libs/libht.la .libs/libht.* .libs/libht-3.2.0.*
gcc -shared ${wl}-expect_unresolved ${wl}\* Configuration.o Database.o
Dictionary.o DB2_db.o IntObject.o List.o Object.o ParsedString.o Queue.o
QuotedStringList.o Stack.o String.o StringList.o StringMatch.o String_fmt.o
good_strtok.o strcasecmp.o mktime.o strptime.o timegm.o getcwd.o memcmp.o
memcpy.o memmove.o raise.o strerror.o HtCodec.o HtWordCodec.o HtVector.o
HtHeap.o HtPack.o HtDateTime.o HtRegex.o HtRegexList.o HtRegexReplace.o
HtRegexReplaceList.o HtVectorGeneric.o HtMaxMin.o HtWordType.o myqsort.o
md5.o mhash_md5.o snprintf.o
snprintf.o -L/usr/local/lib -lz -lc -Wl,-msym -Wl,-soname -Wl,libht-3.2.0
.so `test -n "0.0" &&
echo -Wl,-set_version -Wl,0.0` -Wl,-update_registry -Wl,.libs/so_locations -
o .libs/libht-3.2.0.so
/usr/bin/ld:
Database.o: vtable for Object: weak symbol multiply defined
Database.o: Object::compare(Object const&) const: weak symbol multiply
defined
Database.o: Object::Copy() const: weak symbol multiply defined
Database.o: Object::~Object(): weak symbol multiply defined
Database.o: Object::~Object(): weak symbol multiply defined
Dictionary.o: vtable for Object: weak symbol multiply defined
Dictionary.o: Object::compare(Object const&) const: weak symbol multiply
defined
Dictionary.o: Object::Copy() const: weak symbol multiply defined
Dictionary.o: Object::~Object(): weak symbol multiply defined
Dictionary.o: Object::~Object(): weak symbol multiply defined
DB2_db.o: Object::compare(Object const&) const: weak symbol multiply defined
DB2_db.o: Object::Copy() const: weak symbol multiply defined
DB2_db.o: Database::Get_Next() : weak symbol multiply defined
DB2_db.o: Database::Get_Next(String&) : weak symbol multiply defined
DB2_db.o: Database::Get_Next_Seq() : weak symbol multiply defined
DB2_db.o: vtable for Object: weak symbol multiply defined
DB2_db.o: Object::~Object(): weak symbol multiply defined
DB2_db.o: Object::~Object(): weak symbol multiply defined
...
Once the compilation gets past this section, it eventually abends while
trying to build the htdig program sources:
Making all in htdig
gmake[1]: Entering directory `/home/frank/src/htdig-3.2.0b3/htdig'
c++ -DHAVE_CONFIG_H -I. -I. -I../include -DDEFAULT_CONFIG_FILE=\"/opt/www/co
nf/htdig.conf\" -I../include -I../htlib -I../htnet -I../htcommon -I../
htword -I../db -I../db -I/usr/local/include -g -O2 -Wall -fno-rtti -
fno-exceptions -c Document.cc
In file included from Document.h:34,
from Document.cc:31:
ExternalTransport.h:29: friend declaration requires class-key, i.e. `friend
class ExternalTransport'
gmake[1]: *** [Document.o] Error 1
gmake[1]: Leaving directory `/home/frank/src/htdig-3.2.0b3/htdig'
gmake: *** [all-recursive] Error 1
Anyone have any clue as to what's going on here?
Thanks and regards,
Frank
Received on Thu Jan 10 2002 - 15:40:36 NZDT