Kir,

What compiler are you using?  I am having difficulty getting 1.2.6 to link
correctly for Debian.  The symptoms are: 

/bin/sh ../libtool --mode=link c++  -ggdb3 -Wall -D_REENTRANT  -o searchd
daemon.o excerpts.o qparser.o sqldb.o parser.o scanner.o streams.o charsets.o
search.o templates.o sock.o logger.o stopwords.o affix.o datetime.o lastmod.o
urlfilter.o misc.o acl.o timer.o cache.o crc32.o ucharset.o -ldl -lz -lpthread
c++ -ggdb3 -Wall -D_REENTRANT -o searchd daemon.o excerpts.o qparser.o sqldb.o
parser.o scanner.o streams.o charsets.o search.o templates.o sock.o logger.o
stopwords.o affix.o datetime.o lastmod.o urlfilter.o misc.o acl.o timer.o
cache.o crc32.o ucharset.o -ldl -lz -lpthread
sqldb.o: In function `CWordParam::~CWordParam(void)':
/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/stl_algobase.h:149:
undefined reference to `CWordBuddyVector::~CWordBuddyVector(void)'
collect2: ld returned 1 exit status
make[1]: *** [searchd] Error 1
make[1]: Leaving directory
`/usr/src/packages/aspseek/release/1.2.6/pkg/WORK/aspseek-1.2.6/src'
make: *** [all-recursive] Error 1

When linking searchd, if I add buddy.cpp to searchd_SOURCES it links fine
however I get an unresoved symbol when index or searchd try to load
libmysqldb-1.2.6.so:

Loading configuration from /etc/aspseek-debug/charsets.conf
Loading configuration from /etc/aspseek-debug/stopwords.conf
Loading configuration from /etc/aspseek-debug/aspseek.conf
Can't load DB driver: /usr/lib/aspseek-debug/libmysqldb-1.2.6.so: undefined
symbol: _._16CWordBuddyVector

I'm suspecting a linker bug or an STL issue or both (again).  This is using:

g++ -v
Reading specs from /usr/lib/gcc-lib/i386-linux/2.95.4/specs
gcc version 2.95.4 20011006 (Debian prerelease)


Matt.

On Fri, 16 Nov 2001, Kir Kolyshkin wrote:

> Denis Mysenko wrote:
> > 
> > It looks to be still buggy on *BSD:
> > 
> > Program received signal SIGSEGV, Segmentation fault.
> > 0x80729a3 in CSQLDatabase::SaveContents (this=0x81aea50,
> > content=0xbfafd854, wordCount=1888, changed=1, hrefs=0xbfaf24f4, hsz=14, 
>sqlUpdate=@0xbfaf8d24)
> >     at sqldb.cpp:1658
> > 1658                                    memcpy(buf, (char*)&size, sizeof(size));
> > 
> > And it seems that only ONE thread does all the job.
> 
> It should be so if you have only one server to index, or if you haven't
> supplied -N xxx option, where xxx > 1
> 
> -- 
> [EMAIL PROTECTED]  ICQ 7551596  Phone +7 903 6722750
> Hard work may not kill you,  but why take chances?
> --
> 

Reply via email to