According to Foerst, Daniel P.:
> I am using RedHat 6.2 with GCC 2.95.2 with GNU ld 2.9.5, and I have
> libstdc++ 2.9.0-30 installed (latest version). This is htdig-3.1.5 
> 
> I am not able to figure out what is going wrong.. any assistance you can
> lend is greatly appreciated!
...
> I run the configure and have the following...
...
> prefix=                 /home2/htdig
> 
> # This specifies the root of the directory tree to be used for programs
> # installed by ht://Dig
> exec_prefix=            ${prefix}

I'm not positive about this, but I think in makefiles like this one, you
need to use the syntax $(prefix), and not ${prefix} (i.e. use parentheses
instead of braces).

...
> When I run make, everything works well, but then this slew of errors
> takes place.
> 
> Entering directory `/sys2/installs/htdig-3.1.5/htfuzzy'
> 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 
> EndingsDB.o: In function `Endings::createDB(Configuration &)':
> /sys2/installs/htdig-3.1.5/htfuzzy/EndingsDB.cc:46: undefined reference
> to `cout'
> /sys2/installs/htdig-3.1.5/htfuzzy/EndingsDB.cc:46: undefined reference
> to `ostream::operator<<(char const *)'
> /sys2/installs/htdig-3.1.5/htfuzzy/EndingsDB.cc:52: undefined reference
> to `cout'
> /sys2/installs/htdig-3.1.5/htfuzzy/EndingsDB.cc:52: undefined reference
> to `ostream::operator<<(char const *)'

All of these should be in the libstdc++ library.  However, the makefile
is trying to link these with gcc rather than g++ or c++, which is probably
a big part of the problem.  I suspect something went wrong during the
run of ./configure, most likely because your C++ compiler and libraries
aren't installed where the configure program expected to find them.

...
> /sys2/gcc/lib/gcc-lib/i686-pc-linux-gnu/2.95.2/../../../../include/g++-3
> /iostream.h:106: undefined reference to `endl(ostream &)'
> /sys2/gcc/lib/gcc-lib/i686-pc-linux-gnu/2.95.2/../../../../include/g++-3
> /iostream.h:106: undefined reference to `cout'
> /sys2/gcc/lib/gcc-lib/i686-pc-linux-gnu/2.95.2/../../../../include/g++-3
> /iostream.h:106: undefined reference to `endl(ostream &)'

These error messages suggest that the C++ header files are not in the
standard location.  The compiler found them OK, but things are messing
up and the linking stage.  Is there a reason why you didn't just use
the egcs-c++ and libstdc++ RPM packages that came with Red Hat 6.2?
Those work fine with ht://Dig.  I suspect that your setup as it is now
wouldn't work well with any software that needs C++.

-- 
Gilles R. Detillieux              E-mail: <[EMAIL PROTECTED]>
Spinal Cord Research Centre       WWW:    http://www.scrc.umanitoba.ca/~grdetil
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
[EMAIL PROTECTED]
You will receive a message to confirm this.
List archives:  <http://www.htdig.org/mail/menu.html>
FAQ:            <http://www.htdig.org/FAQ.html>

Reply via email to