Re: [htdig] Unable to compile htfuzzy under Solaris 2.5.1 : help me ...

Gilles Detillieux (
Fri, 18 Jun 1999 10:25:58 -0500 (CDT)

According to x y (a.k.a. Didier Claverie):
> I try to compile ht://Dig 3.1.2 under Solaris 2.5.1 with gcc
> I have just compiled and installed libg++ 2.7.2 successfully
> (basically, in /usr/local) from the sources availiable at
> I have the following error :
> *****
> iris(root)/export/home/cetw/taf/htdig-3.1.2> make
> [...]
> gcc -o htfuzzy -L../htlib -L../htcommon -L../db/dist -L/usr/lib
> Endings.o EndingsDB.o Exact.o Fuzzy.o Metaphone.o Soundex.o
> SuffixEntry.o Synonym.o htfuzzy.o Substring.o Prefix.o
> ./htcommon/libcommon.a ../htlib/libht.a ../db/dist/libdb.a -lnsl
> -lsocket
> Undefined first referenced
> symbol in file
> cout EndingsDB.o
> _vt.7istream.3ios ../htlib/libht.a(Configuration.o)
> write__7ostreamPCci ../htlib/libht.a(String.o)
> _._8ifstream ../htlib/libht.a(Configuration.o)
> endl__FR7ostream EndingsDB.o
> cerr Prefix.o
> __ls__7ostreamPCv ../htlib/libht.a(String.o)
> __ls__7ostreamPCc EndingsDB.o
> getline__7istreamPcic ../htlib/libht.a(Configuration.o)
> __ls__7ostreamc EndingsDB.o
> __ls__7ostreami EndingsDB.o
> close__11fstreambase ../htlib/libht.a(Configuration.o)
> _vt.8ifstream.3ios ../htlib/libht.a(Configuration.o)
> __11fstreambaseiPCcii ../htlib/libht.a(Configuration.o)
> flush__7ostream EndingsDB.o
> _vt.3ios ../htlib/libht.a(Configuration.o)
> ld: fatal: Symbol referencing errors. No output written to htfuzzy
> *** Error code 1
> make: Fatal error: Command failed for target `htfuzzy'
> Current working directory /export/home/cetw/taf/htdig-3.1.2/htfuzzy
> *** Error code 1
> make: Fatal error: Command failed for target `all'
> *****
> I read in the FAQ there could be some pb with libht.a, but considering
> I just installed the libg++ ...
> (correct me if I'm wrong, but I understood that libstdc++ was included
> in libg++)

Both are C++ libraries. I believe libstdc++ is the newer one that comes
with egcs, while libg++ comes with the older g++ compiler. Your problem
looks a lot like the one reported just yesterday by Dan Anoaica, which
he ran into on an HP-UX system. Here's what I told him:

 Something must have gone wrong during the configure step. For some reason,
 the Makefile is trying to use gcc, rather than c++ or g++, to link together
 C++ modules. The errors from ld are happening because it's not looking
 through your C++ library for the missing objects.

Someone please correct me if I'm wrong, but I don't think gcc will ever
look for the C++ library, whether it's libg++ or libstdc++. In this
case, why is configure setting up the Makefiles to use gcc to link
(and compile?) C++ code, when it should be using another command?
(retorical question, but one that I wouldn't mind hearing an answer to,
if someone knows)

I suspect that both you and Dan are running installations of C++ that
are somehow non-standard, and configure is having problems with them.
The other possibility may be that your "make" program is not dealing
with the Makefiles properly. Have you tried GNU make?

Gilles R. Detillieux              E-mail: <>
Spinal Cord Research Centre       WWW:
Dept. Physiology, U. of Manitoba  Phone:  (204)789-3766
Winnipeg, MB  R3E 3J7  (Canada)   Fax:    (204)789-3930
To unsubscribe from the htdig mailing list, send a message to containing the single word "unsubscribe" in
the SUBJECT of the message.

This archive was generated by hypermail 2.0b3 on Fri Jun 18 1999 - 07:46:53 PDT