[greenstone-devel] Link errors for library CGI program on Solaris

From Don Gourley
DateFri, 30 Jun 2006 13:02:36 -0400 (EDT)
Subject [greenstone-devel] Link errors for library CGI program on Solaris
In-Reply-To (44A49897-2000703-cs-waikato-ac-nz)
I'm trying to build Greenstone 2.70w on Solaris 9 (SunOS 5.9).
I've gotten to the final linker step to build the 'library'
program (see below) and am getting a bunch of undefined symbols.
I'm guessing that it is not finding some libraries that it needs
or is not getting the right version of some libraries.

I was wondering if someone familiar with C++ code could look at
the symbols and identify what library or libraries they are
from. It looks to me like they are all I/O related.

Alternatively, if someone has succesfully created the 2.70w
library program on Solaris 9 and would share it with me, that
would be great.

thanks,
-Don Gourley
Washington Research Library Consortium

gcc -o library receptionist.o cgiwrapper.o cgiargs.o action.o browserclass.o
converter.o recptconfig.o cgiutils.o OIDtools.o browsetools.o statusaction.o
pageaction.o comtypes.o recptproto.o pingaction.o queryaction.o
documentaction.o extlinkaction.o browseaction.o htmlutils.o querytools.o
browseactiontools.o formattools.o tipaction.o authenaction.o argdb.o
infodbclass.o userdb.o usersaction.o vlistbrowserclass.o hlistbrowserclass.o
datelistbrowserclass.o invbrowserclass.o pagedbrowserclass.o
htmlbrowserclass.o phindbrowserclass.o historydb.o collectoraction.o
phindaction.o summarise.o highlighttext.o gtiaction.o nullproto.o
librarymain.o ../colservr/mgq.o ../colservr/search.o ../colservr/mgsearch.o
../colservr/querycache.o ../colservr/queryinfo.o ../colservr/collectserver.o
../colservr/colservrconfig.o ../colservr/maptools.o ../colservr/filter.o
../colservr/source.o ../colservr/browsefilter.o ../colservr/queryfilter.o
../colservr/gdbmsource.o ../colservr/mggdbmsource.o ../colservr/phrasesearch.o
../colservr/phrasequeryfilter.o ../colservr/mgqueryfilter.o
../colservr/mgppsearch.o ../colservr/mgppqueryfilter.o
../colservr/collectset.o ../colservr/lucenesearch.o
../colservr/lucenequeryfilter.o ../colservr/lucenegdbmsource.o
../colservr/expat_resultset.o ../colservr/expat_document.o
../../lib/gsdllib.a ../../packages/mg/src/text/libtextin.a
../../packages/mg/lib/libmg.a ../mgpp/text/libtextin.a ../mgpp/lib/libmg.a
-lgdbm -L../../packages/expat/lib -lexpat -lcrypt -lm
Undefined first referenced
symbol in file
std::basic_filebuf<char, std::char_traits<char> >::close()cgiwrapper.o
std::ios_base::ios_base[not-in-charge]()cgiwrapper.o
std::ios_base::~ios_base [not-in-charge]()cgiwrapper.o
operator new[](unsigned) receptionist.o
operator new(unsigned) receptionist.o
std::basic_string<char, std::char_traits<char>, std::allocator<char>
>::_Rep::_S_terminalbrowsetools.o
std::basic_ostream<char, std::char_traits<char> >::write(char const*,
int)../../lib/gsdllib.a(text_t.o)
std::basic_ostream<char, std::char_traits<char>
>::operator<<(std::basic_ostream<char, std::char_traits<char> >&
(*)(std::basic_ostream<char, std::char_traits<char> >&))receptionist.o
std::__default_alloc_template<(bool)1, (int)0>::deallocate(void*,
unsigned)receptionist.o
vtable for __cxxabiv1::__si_class_type_inforeceptionist.o
vtable for std::basic_ofstream<char, std::char_traits<char> >cgiwrapper.o
VTT for std::basic_ofstream<char, std::char_traits<char> >cgiwrapper.o
std::__throw_length_error(char const*)querytools.o
vtable for std::basic_ifstream<char, std::char_traits<char> >cgiwrapper.o
VTT for std::basic_ifstream<char, std::char_traits<char> >cgiwrapper.o
vtable for std::basic_streambuf<char, std::char_traits<char> >cgiwrapper.o
std::basic_ostream<char, std::char_traits<char>
>::operator<<(double)../colservr/queryinfo.o
std::basic_ostream<char, std::char_traits<char> >::operator<<(long)browsetools.o
std::basic_ostream<char, std::char_traits<char> >::operator<<(unsigned
long)browsetools.o
std::basic_istream<char, std::char_traits<char> >::get(char*, int,
char)cgiwrapper.o
std::basic_ostream<char, std::char_traits<char> >& std::flush<char,
std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char>
>&)receptionist.o
std::basic_string<char, std::char_traits<char>, std::allocator<char>
>::_S_empty_rep_storagebrowsetools.o
__cxa_end_catch receptionist.o
std::basic_filebuf<char, std::char_traits<char> >::open(char const*,
std::_Ios_Openmode)cgiwrapper.o
std::basic_ios<char, std::char_traits<char> >::widen(char) constcgiwrapper.o
__cxa_begin_catch receptionist.o
std::basic_ios<char, std::char_traits<char>
>::rdbuf(std::basic_streambuf<char, std::char_traits<char> >*)cgiwrapper.o
operator delete[](void*) receptionist.o
operator delete(void*) receptionist.o
vtable for std::basic_stringbuf<char, std::char_traits<char>,
std::allocator<char> >browsetools.o
vtable for std::basic_filebuf<char, std::char_traits<char> >cgiwrapper.o
std::__default_alloc_template<(bool)1, (int)0>::allocate(unsigned)receptionist.o
std::basic_istream<char, std::char_traits<char> >::seekg(long,
std::_Ios_Seekdir)../../lib/gsdllib.a(fileutil.o)
VTT for std::basic_ostringstream<char, std::char_traits<char>,
std::allocator<char> >browsetools.o
vtable for std::basic_ostringstream<char, std::char_traits<char>,
std::allocator<char> >browsetools.o
std::basic_streambuf<char, std::char_traits<char>
>::basic_streambuf[not-in-charge]()browsetools.o
std::basic_streambuf<char, std::char_traits<char> >::~basic_streambuf
[not-in-charge]()cgiwrapper.o
std::__basic_file<char>::~__basic_file [in-charge]()cgiwrapper.o
std::basic_ostream<char, std::char_traits<char> >& std::operator<<
<std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&,
char)receptionist.o
std::basic_ostream<char, std::char_traits<char> >& std::operator<<
<std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&,
unsigned char)../../lib/gsdllib.a(text_t.o)
std::cerr receptionist.o
std::cout cgiwrapper.o
std::basic_ios<char, std::char_traits<char>
>::clear(std::_Ios_Iostate)cgiwrapper.o
vtable for __cxxabiv1::__class_type_inforeceptionist.o
std::basic_string<char, std::char_traits<char>, std::allocator<char>
>::_Rep::_M_destroy(std::allocator<char> const&)browsetools.o
std::ios_base::Init::~Init [in-charge]()receptionist.o
std::ios_base::Init::Init[in-charge]()receptionist.o
vtable for std::basic_ios<char, std::char_traits<char> >cgiwrapper.o
__gxx_personality_v0 receptionist.o
std::basic_filebuf<char, std::char_traits<char>
>::basic_filebuf[in-charge]()cgiwrapper.o
std::basic_ostream<char, std::char_traits<char> >& std::operator<<
<std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&,
char const*)receptionist.o
std::basic_istream<char, std::char_traits<char> >::get()collectoraction.o
__cxa_pure_virtual receptionist.o
std::basic_ios<char, std::char_traits<char> >::init(std::basic_streambuf<char,
std::char_traits<char> >*)cgiwrapper.o
__cxa_rethrow receptionist.o
std::locale::~locale [in-charge]() cgiwrapper.o
std::basic_istream<char, std::char_traits<char>
>::tellg()../../lib/gsdllib.a(fileutil.o)
std::basic_istream<char, std::char_traits<char> >::getline(char*, int,
char)../../lib/gsdllib.a(fileutil.o)
std::basic_istream<char, std::char_traits<char>
>::operator>>(std::basic_streambuf<char, std::char_traits<char>
>*)../../lib/gsdllib.a(fileutil.o)
std::basic_istream<char, std::char_traits<char> >::get(char&)cgiwrapper.o
std::cin cgiwrapper.o
std::basic_ostream<char, std::char_traits<char> >& std::endl<char,
std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char>
>&)receptionist.o
std::basic_stringbuf<char, std::char_traits<char>, std::allocator<char>
>::str() constbrowsetools.o
ld: fatal: Symbol referencing errors. No output written to library