Hi,
At present application was built on solaris 9 using sun studio 9 (Sun C++ 5.6) & rouguewave sorce pro 5. We are planning to port the same application onto SuSE Linux 9.5.0 using GCC 3.3.3 & RW source pro 9. My application heavily uses RW tools through wrapper classes on the top existing RW classes. RW libraries were built using gcc on linux platform and standalong RW examples are working fine. Since the application compilation is moving from Sun CC to GCC, we have taken care all my application template classes declaration & its implementation. Code compiles perfectly but throws lot of linking errors with undefined reference. Most of these errors are pointing inside RW template classes or std:: classes. I am not sure whether i am missing something w.r.t roguewave during my compilation (like some RW macros). Does anyone have idea whats the underlying problem please. Here I am attaching part of linking errors...
linking option :
----------------
g++ -D_RWCONFIG_15dn 2 -D_REENTRANT=1 -pthread -O3 -D__ORA_THREADS -fPIC -DRW_MULTI_THREA D -DCSTRING_MUTEX_ COUNT=61 -DUSE_SPROC=0 -DUSE_PRIVATE_HE APS=0 -Wno-deprecated -mcpu=x86-64 -L/usr/lib64 -L/lib64 -L/utils -L/main -L/usr/roguewave/RogueWave/SourcePro/native2/lib -I/usr/include -DSQLCA_NONE -DORACA_NONE -Dlint -fno-implicit-templates -D__DEBUG -DRW_CLASSIC_STR ING_CLASSES -I/usr/roguewave/RogueWave/SourcePro/native2 -I/usr/roguewave/RogueWave/SourcePro/native2/lib -I/drivermodule -I/include -I/utils -I/eventhandler -I/todmodule -I/orderexecution -I/servicemodule -I/wsdlpull/src -I/dboracle/orabase/product/db/10.2.0.3_64bit/precomp/public -I/dboracle/orabase/product/db/10.2.0.3_64bit/rdbms/demo -I/dboracle/orabase/product/db/10.2.0.3_64bit/rdbms/public -I/dboracle/orabase/product/db/10.2.0.3_64bit/xdk/include -I/dboracle/orabase/product/db/10.2.0.3_64bit/xdk/demo/cpp/new/ -o main.exe main.cc ../utils/libutils.a ../orderexecution/liborderexecuti on.a ../wsdlpull/src/xmlpull/libxmlpull.a ../wsdlpull/src/schemaparser/libschema.a ../wsdlpull/src/wsdlparser/libwsdl.a ../servicemodule/libservicemodul e.a ../eventhandlermod ule/libeventhandler .a ../todmodule/libtodmodule.a -ldrivermodule -L/dboracle/orabase/product/db/10.2.0.3_64bit/lib -lclient10 -lsql10 -lntcp10 -ln10 -lnl10 -lnldap10 -lnhost10 -lntns10 -lnoname10 -lnus10 -lntcps10 -lnro10 -lnsslb10 -lcommon10 -lgeneric10 -lmm -lnls10 -lcore10 -lclntsh -lxml10 -lunls10 -ldl `cat /dboracle/orabase/product/db/10.2.0.3_64bit/lib/sysliblist` -lm -lfactory1415dn2 -lfunctor2315dn2 -lfunctor_list23 15dn2 -lfunctor_map231 5dn2 -li18n1415dn2 -litc2315dn2 -lpointer2515dn2 -lserial2015dn2 -lstreams1315dn2 -lsync2415dn2 -lthread2415dn2 -lthrexcept2315d n2 -ltls71015dn2 -ltrace2315dn2 -ltypes1315dn2 -lxmlabstraction s1515dn2 -lxmlstreams1415 dn2 -lpthread -lc -lrt -lnsl
Linking errors:
===============
/usr/lib64/gcc-lib/x86_64-suse-linux/3.3.3/../../../../x86_64-suse-linux/bin/ld: warning: libicudata.so.3 4, needed by /usr/roguewave/RogueWave/SourcePro/native2/lib/libi18n1415dn2. so, not found (try using -rpath or -rpath-link)
/usr/lib64/gcc-lib/x86_64-suse-linux/3.3.3/../../../../x86_64-suse-linux/bin/ld: warning: libicui18n.so.3 4, needed by /usr/roguewave/RogueWave/SourcePro/native2/lib/libi18n1415dn2. so, not found (try using -rpath or -rpath-link)
/usr/lib64/gcc-lib/x86_64-suse-linux/3.3.3/../../../../x86_64-suse-linux/bin/ld: warning: libicuuc.so.34, needed by /usr/roguewave/RogueWave/SourcePro/native2/lib/libi18n1415dn2. so, not found (try using -rpath or -rpath-link)
../utils/libutils.a(cexc eptions.o)(.tex t+0x926): In function `DEBUG_STD_FUNC (unsigned long, GenString const&, int, CObjList<GenStr ing>*)':
: undefined reference to `std::_Rb_tree< GenString*, std:air><GenStr ing* const, GenString*>, std::_Select1st <std:air><GenSt ring* const, GenString*> >, rw_deref_compar e<std::less><Ge nString>, GenString>, std::allocator< std:air><GenStr ing* const, GenString*> > >::find(GenStri ng* const&)'
../utils/libutils.a(cexc eptions.o)(.tex t+0x9b2): In function `DEBUG_STD_FUNC (unsigned long, GenString const&, int, CObjList<GenStr ing>*)':
: undefined reference to `RWCTokenizer:: RWCTokenizer[in-charge](RWClassicCStri ng const&)'
../utils/libutils.a(gens tring.o)(.text+ 0x19e2): In function `GenString::Ext ractTagAndIndex (int const&, GenString&, GenString&, GenString&, bool&, int&, bool&, unsigned long&)':
: undefined reference to `RWCRegexp::RWC Regexp[in-charge](RWClassicCStri ng const&)'
../utils/libutils.a(osdt emplateinstant. o)(.gnu.linkonc e.t._ZN16CMapSt ringToListI9Gen StringE6HelperE PKS0_RP8CObjLis tIS0_EPv+0x8): In function `CMapStringToLi st<GenString>:: Helper(GenStrin g const*, CObjList<GenStr ing>*&, void*)':
: undefined reference to `RW_PSeq<rw_sli st><GenString*, std::allocator> <GenString*> >, RWTPtrSlist<Gen String, std::allocator> <GenString*> >, GenString>::cle arAndDestroy()'
../utils/libutils.a(osdt emplateinstant. o)(.gnu.linkonc e.t._ZN8CObjLis tI9GenStringEC2 Ev+0x5): In function `CObjList<GenSt ring>::CObjList[not-in-charge]()':
: undefined reference to `rw_slist<GenSt ring*, std::allocator> <GenString*> >::rw_slist[not-in-charge]()'
../utils/libutils.a(osdt emplateinstant. o)(.gnu.linkonc e.t._ZN8CObjLis tI9GenStringEC1 Ev+0x5): In function `CObjList<GenSt ring>::CObjList[in-charge]()':
: undefined reference to `rw_slist<GenSt ring*, std::allocator> <GenString*> >::rw_slist[not-in-charge]()'
../utils/libutils.a(osdt emplateinstant. o)(.gnu.linkonc e.t._ZN8CObjLis tI9GenStringED2 Ev+0x12): In function `CObjList<GenSt ring>::~CObjLis t [not-in-charge]()':
: undefined reference to `RW_PSeq<rw_sli st><GenString*, std::allocator> <GenString*> >, RWTPtrSlist<Gen String, std::allocator> <GenString*> >, GenString>::cle arAndDestroy()'
../utils/libutils.a(osdt emplateinstant. o)(.gnu.linkonc e.t._ZN8CObjLis tI9GenStringED2 Ev+0x1a): In function `CObjList<GenSt ring>::~CObjLis t [not-in-charge]()':
: undefined reference to `rw_slist<GenSt ring*, std::allocator> <GenString*> >::~rw_slist [not-in-charge]()'
../utils/libutils.a(osdt emplateinstant. o)(.gnu.linkonc e.t._ZN8CObjLis tI9GenStringED2 Ev+0x37): In function `CObjList<GenSt ring>::~CObjLis t [not-in-charge]()':
: undefined reference to `rw_slist<GenSt ring*, std::allocator> <GenString*> >::~rw_slist [not-in-charge]()'
../utils/libutils.a(osdt emplateinstant. o)(.gnu.linkonc e.t._ZN8CObjLis tI9GenStringED1 Ev+0x12): In function `CObjList<GenSt ring>::~CObjLis t [in-charge]()':
: undefined reference to `RW_PSeq<rw_sli st><GenString*, std::allocator> <GenString*> >, RWTPtrSlist<Gen String, std::allocator> <GenString*> >, GenString>::cle arAndDestroy()'
../utils/libutils.a(osdt emplateinstant. o)(.gnu.linkonc e.t._ZN8CObjLis tI9GenStringED1 Ev+0x1a): In function `CObjList<GenSt ring>::~CObjLis t [in-charge]()':
: undefined reference to `rw_slist<GenSt ring*, std::allocator> <GenString*> >::~rw_slist [not-in-charge]()'
../utils/libutils.a(osdt emplateinstant. o)(.gnu.linkonc e.t._ZN8CObjLis tI9GenStringED1 Ev+0x37): In function `CObjList<GenSt ring>::~CObjLis t [in-charge]()':
: undefined reference to `rw_slist<GenSt ring*, std::allocator> <GenString*> >::~rw_slist [not-in-charge]()'
../utils/libutils.a(osdt emplateinstant. o)(.gnu.linkonc e.t._ZN15CMapSt ringToObjI8CObj ListI9GenString EED1Ev+0x21): In function `CMapStringToOb j<CObjList><Gen String> >::~CMapStringT oObj [in-charge]()':
: undefined reference to `RW_PMapAssoc<s td::map><GenStr ing*, CObjList><GenSt ring>*, rw_deref_compar e<std::less><Ge nString>, GenString>, std::allocator< std:air><GenStr ing* const, CObjList><GenSt ring>*> > >, RWTPtrMap<GenSt ring, CObjList><GenSt ring>, std::less<GenSt ring>, std::allocator< std:air><GenStr ing* const, CObjList><GenSt ring>*> > >, GenString, CObjList<GenStr ing>, std::less<GenSt ring> >::clearAndDest roy()'
../utils/libutils.a(osdt emplateinstant. o)(.gnu.linkonc e.t._ZN15CMapSt ringToObjI8CObj ListI9GenString EED1Ev+0xa2): In function `CMapStringToOb j<CObjList><Gen String> >::~CMapStringT oObj [in-charge]()':
: undefined reference to `std::_Rb_tree< GenString*, std:air><GenStr ing* const, CObjList><GenSt ring>*>, std::_Select1st <std:air><GenSt ring* const, CObjList><GenSt ring>*> >, rw_deref_compar e<std::less><Ge nString>, GenString>, std::allocator< std:air><GenStr ing* const, CObjList><GenSt ring>*> > >::_M_erase(std ::_Rb_tree_node <std:air><GenSt ring* const, CObjList><GenSt ring>*> >*)'
../utils/libutils.a(osdt emplateinstant. o)(.gnu.linkonc e.t._ZN15CMapSt ringToObjI8CObj ListI9GenString EED1Ev+0x150): In function `CMapStringToOb j<CObjList><Gen String> >::~CMapStringT oObj [in-charge]()':
: undefined reference to `std::_Rb_tree< GenString*, std:air><GenStr ing* const, CObjList><GenSt ring>*>, std::_Select1st <std:air><GenSt ring* const, CObjList><GenSt ring>*> >, rw_deref_compar e<std::less><Ge nString>, GenString>, std::allocator< std:air><GenStr ing* const, CObjList><GenSt ring>*> > >::_M_erase(std ::_Rb_tree_node <std:air><GenSt ring* const, CObjList><GenSt ring>*> >*)'
../utils/libutils.a(osdt emplateinstant. o)(.gnu.linkonc e.t._ZN15CMapSt ringToObjI8CObj ListI9GenString EED2Ev+0x21): In function `CMapStringToOb j<CObjList><Gen String> >::~CMapStringT oObj [not-in-charge]()':
: undefined reference to `RW_PMapAssoc<s td::map><GenStr ing*, CObjList><GenSt ring>*, rw_deref_compar e<std::less><Ge nString>, GenString>, std::allocator< std:air><GenStr ing* const, CObjList><GenSt ring>*> > >, RWTPtrMap<GenSt ring, CObjList><GenSt ring>, std::less<GenSt ring>, std::allocator< std:air><GenStr ing* const, CObjList><GenSt ring>*> > >, GenString, CObjList<GenStr ing>, std::less<GenSt ring> >::clearAndDest roy()'
../utils/libutils.a(osdt emplateinstant. o)(.gnu.linkonc e.t._ZN15CMapSt ringToObjI8CObj ListI9GenString EED2Ev+0xa2): In function `CMapStringToOb j<CObjList><Gen String> >::~CMapStringT oObj [not-in-charge]()':
: undefined reference to `std::_Rb_tree< GenString*, std:air><GenStr ing* const, CObjList><GenSt ring>*>, std::_Select1st <std:air><GenSt ring* const, CObjList><GenSt ring>*> >, rw_deref_compar e<std::less><Ge nString>, GenString>, std::allocator< std:air><GenStr ing* const, CObjList><GenSt ring>*> > >::_M_erase(std ::_Rb_tree_node <std:air><GenSt ring* const, CObjList><GenSt ring>*> >*)'
../utils/libutils.a(osdt emplateinstant. o)(.gnu.linkonc e.t._ZN15CMapSt ringToObjI8CObj ListI9GenString EED2Ev+0x150): In function `CMapStringToOb j<CObjList><Gen String> >::~CMapStringT oObj [not-in-charge]()':
: undefined reference to `std::_Rb_tree< GenString*, std:air><GenStr ing* const, CObjList><GenSt ring>*>, std::_Select1st <std:air><GenSt ring* const, CObjList><GenSt ring>*> >, rw_deref_compar e<std::less><Ge nString>, GenString>, std::allocator< std:air><GenStr ing* const, CObjList><GenSt ring>*> > >::_M_erase(std ::_Rb_tree_node <std:air><GenSt ring* const, CObjList><GenSt ring>*> >*)'
../utils/libutils.a(osdt emplateinstant. o)(.gnu.linkonc e.t._ZN16CMapSt ringToListI9Gen StringED1Ev+0xb 4): In function `CMapStringToLi st<GenString>:: ~CMapStringToLi st [in-charge]()':
: undefined reference to `RW_PMapAssoc<s td::map><GenStr ing*, CObjList><GenSt ring>*, rw_deref_compar e<std::less><Ge nString>, GenString>, std::allocator< std:air><GenStr ing* const, CObjList><GenSt ring>*> > >, RWTPtrMap<GenSt ring, CObjList><GenSt ring>, std::less<GenSt ring>, std::allocator< std:air><GenStr ing* const, CObjList><GenSt ring>*> > >, GenString, CObjList<GenStr ing>, std::less<GenSt ring> >::clearAndDest roy()'
../utils/libutils.a(osdt emplateinstant. o)(.gnu.linkonc e.t._ZN16CMapSt ringToListI9Gen StringED2Ev+0xb 4): In function `CMapStringToLi st<GenString>:: ~CMapStringToLi st [not-in-charge]()':
: undefined reference to `RW_PMapAssoc<s td::map><GenStr ing*, CObjList><GenSt ring>*, rw_deref_compar e<std::less><Ge nString>, GenString>, std::allocator< std:air><GenStr ing* const, CObjList><GenSt ring>*> > >, RWTPtrMap<GenSt ring, CObjList><GenSt ring>, std::less<GenSt ring>, std::allocator< std:air><GenStr ing* const, CObjList><GenSt ring>*> > >, GenString, CObjList<GenStr ing>, std::less<GenSt ring> >::clearAndDest roy()'
../utils/libutils.a(osdt emplateinstant. o)(.gnu.linkonc e.t._ZN15CMapSt ringToObjI9GenS tringED1Ev+0x21 ): In function `CMapStringToOb j<GenString>::~ CMapStringToObj [in-charge]()':
: undefined reference to `RW_PMapAssoc<s td::map><GenStr ing*, GenString*, rw_deref_compar e><std::less><G enString>, GenString>, std::allocator< std:air><GenStr ing* const, GenString*> > >, RWTPtrMap<GenSt ring, GenString, std::less><GenS tring>, std::allocator< std:air><GenStr ing* const, GenString*> > >, GenString, GenString, std::less<GenSt ring> >::clearAndDest roy()'
../utils/libutils.a(osdt emplateinstant. o)(.gnu.linkonc e.t._ZN15CMapSt ringToObjI9GenS tringED1Ev+0xa2 ): In function `CMapStringToOb j<GenString>::~ CMapStringToObj [in-charge]()':
: undefined reference to `std::_Rb_tree< GenString*, std:air><GenStr ing* const, GenString*>, std::_Select1st <std:air><GenSt ring* const, GenString*> >, rw_deref_compar e<std::less><Ge nString>, GenString>, std::allocator< std:air><GenStr ing* const, GenString*> > >::_M_erase(std ::_Rb_tree_node <std:air><GenSt ring* const, GenString*> >*)'
../utils/libutils.a(osdt emplateinstant. o)(.gnu.linkonc e.t._ZN15CMapSt ringToObjI9GenS tringED1Ev+0x15 0): In function `CMapStringToOb j<GenString>::~ CMapStringToObj [in-charge]()':
: undefined reference to `std::_Rb_tree< GenString*, std:air><GenStr ing* const, GenString*>, std::_Select1st <std:air><GenSt ring* const, GenString*> >, rw_deref_compar e<std::less><Ge nString>, GenString>, std::allocator< std:air><GenStr ing* const, GenString*> > >::_M_erase(std ::_Rb_tree_node <std:air><GenSt ring* const, GenString*> >*)'
../utils/libutils.a(osdt emplateinstant. o)(.gnu.linkonc e.t._ZN15CMapSt ringToObjI9GenS tringED2Ev+0x15 0): In function `CMapStringToOb j<GenString>::~ CMapStringToObj [not-in-charge]()':
: undefined reference to `std::_Rb_tree< GenString*, std:air><GenStr ing* const, GenString*>, std::_Select1st <std:air><GenSt ring* const, GenString*> >, rw_deref_compar e<std::less><Ge nString>, GenString>, std::allocator< std:air><GenStr ing* const, GenString*> > >::_M_erase(std ::_Rb_tree_node <std:air><GenSt ring* const, GenString*> >*)'
../utils/libutils.a(osdt emplateinstant. o)(.gnu.linkonc e.t._ZN15CMapSt ringToObjI8XMLA rrayED1Ev+0x21) : In function `CMapStringToOb j<XMLArray>::~C MapStringToObj [in-charge]()':
: undefined reference to `RW_PMapAssoc<s td::map><GenStr ing*, XMLArray*, rw_deref_compar e><std::less><G enString>, GenString>, std::allocator< std:air><GenStr ing* const, XMLArray*> > >, RWTPtrMap<GenSt ring, XMLArray, std::less><GenS tring>, std::allocator< std:air><GenStr ing* const, XMLArray*> > >, GenString, XMLArray, std::less<GenSt ring> >::clearAndDest roy()'
../utils/libutils.a(osdt emplateinstant. o)(.gnu.linkonc e.t._ZN15CMapSt ringToObjI8XMLA rrayED1Ev+0xa2) : In function `CMapStringToOb j<XMLArray>::~C MapStringToObj [in-charge]()':
: undefined reference to `std::_Rb_tree< GenString*, std:air><GenStr ing* const, XMLArray*>, std::_Select1st <std:air><GenSt ring* const, XMLArray*> >, rw_deref_compar e<std::less><Ge nString>, GenString>, std::allocator< std:air><GenStr ing* const, XMLArray*> > >::_M_erase(std ::_Rb_tree_node <std:air><GenSt ring* const, XMLArray*> >*)'
../utils/libutils.a(osdt emplateinstant. o)(.gnu.linkonc e.t._ZN15CMapSt ringToObjI8XMLA rrayED1Ev+0x150 ): In function `CMapStringToOb j<XMLArray>::~C MapStringToObj [in-charge]()':
: undefined reference to `std::_Rb_tree< GenString*, std:air><GenStr ing* const, XMLArray*>, std::_Select1st <std:air><GenSt ring* const, XMLArray*> >, rw_deref_compar e<std::less><Ge nString>, GenString>, std::allocator< std:air><GenStr ing* const, XMLArray*> > >::_M_erase(std ::_Rb_tree_node <std:air><GenSt ring* const, XMLArray*> >*)'
../utils/libutils.a(osdt emplateinstant. o)(.gnu.linkonc e.t._ZN15CMapSt ringToObjI8XMLA rrayED2Ev+0x21) : In function `CMapStringToOb j<XMLArray>::~C MapStringToObj [not-in-charge]()':
: undefined reference to `RW_PMapAssoc<s td::map><GenStr ing*, XMLArray*, rw_deref_compar e><std::less><G enString>, GenString>, std::allocator< std:air><GenStr ing* const, XMLArray*> > >, RWTPtrMap<GenSt ring, XMLArray, std::less><GenS tring>, std::allocator< std:air><GenStr ing* const, XMLArray*> > >, GenString, XMLArray, std::less<GenSt ring> >::clearAndDest roy()'
../utils/libutils.a(osdt emplateinstant. o)(.gnu.linkonc e.t._ZN15CMapSt ringToObjI8XMLA rrayED2Ev+0xa2) : In function `CMapStringToOb j<XMLArray>::~C MapStringToObj [not-in-charge]()':
: undefined reference to `std::_Rb_tree< GenString*, std:air><GenStr ing* const, XMLArray*>, std::_Select1st <std:air><GenSt ring* const, XMLArray*> >, rw_deref_compar e<std::less><Ge nString>, GenString>, std::allocator< std:air><GenStr ing* const, XMLArray*> > >::_M_erase(std ::_Rb_tree_node <std:air><GenSt ring* const, XMLArray*> >*)'
../utils/libutils.a(osdt emplateinstant. o)(.gnu.linkonc e.t._ZN15CMapSt ringToObjI8XMLA rrayED2Ev+0x150 ): In function `CMapStringToOb j<XMLArray>::~C MapStringToObj [not-in-charge]()':
: undefined reference to `std::_Rb_tree< GenString*, std:air><GenStr ing* const, XMLArray*>, std::_Select1st <std:air><GenSt ring* const, XMLArray*> >, rw_deref_compar e<std::less><Ge nString>, GenString>, std::allocator< std:air><GenStr ing* const, XMLArray*> > >::_M_erase(std ::_Rb_tree_node <std:air><GenSt ring* const, XMLArray*> >*)'
../utils/libutils.a(osdt emplateinstant. o)(.gnu.linkonc e.t._ZN15CMapSt ringToObjI8CObj ListI8XMLArrayE ED1Ev+0x21): In function `CMapStringToOb j<CObjList><XML Array> >::~CMapStringT oObj [in-charge]()':
: undefined reference to `RW_PMapAssoc<s td::map><GenStr ing*, CObjList><XMLAr ray>*, rw_deref_compar e<std::less><Ge nString>, GenString>, std::allocator< std:air><GenStr ing* const, CObjList><XMLAr ray>*> > >, RWTPtrMap<GenSt ring, CObjList><XMLAr ray>, std::less<GenSt ring>, std::allocator< std:air><GenStr ing* const, CObjList><XMLAr ray>*> > >, GenString, CObjList<XMLArr ay>, std::less<GenSt ring> >::clearAndDest roy()'
../utils/libutils.a(osdt emplateinstant. o)(.gnu.linkonc e.t._ZN15CMapSt ringToObjI8CObj ListI8XMLArrayE ED1Ev+0xa2): In function `CMapStringToOb j<CObjList><XML Array> >::~CMapStringT oObj [in-charge]()':
: undefined reference to `std::_Rb_tree< GenString*, std:air><GenStr ing* const, CObjList><XMLAr ray>*>, std::_Select1st <std:air><GenSt ring* const, CObjList><XMLAr ray>*> >, rw_deref_compar e<std::less><Ge nString>, GenString>, std::allocator< std:air><GenStr ing* const, CObjList><XMLAr ray>*> > >::_M_erase(std ::_Rb_tree_node <std:air><GenSt ring* const, CObjList><XMLAr ray>*> >*)'
../utils/libutils.a(osdt emplateinstant. o)(.gnu.linkonc e.t._ZN15CMapSt ringToObjI8CObj ListI8XMLArrayE ED1Ev+0x150): In function `CMapStringToOb j<CObjList><XML Array> >::~CMapStringT oObj [in-charge]()':
: undefined reference to `std::_Rb_tree< GenString*, std:air><GenStr ing* const, CObjList><XMLAr ray>*>, std::_Select1st <std:air><GenSt ring* const, CObjList><XMLAr ray>*> >, rw_deref_compar e<std::less><Ge nString>, GenString>, std::allocator< std:air><GenStr ing* const, CObjList><XMLAr ray>*> > >::_M_erase(std ::_Rb_tree_node <std:air><GenSt ring* const, CObjList><XMLAr ray>*> >*)'
../utils/libutils.a(osdt emplateinstant. o)(.gnu.linkonc e.t._ZN15CMapSt ringToObjI8CObj ListI8XMLArrayE ED2Ev+0x21): In function `CMapStringToOb j<CObjList><XML Array> >::~CMapStringT oObj [not-in-charge]()':
: undefined reference to `RW_PMapAssoc<s td::map><GenStr ing*, CObjList><XMLAr ray>*, rw_deref_compar e<std::less><Ge nString>, GenString>, std::allocator< std:air><GenStr ing* const, CObjList><XMLAr ray>*> > >, RWTPtrMap<GenSt ring, CObjList><XMLAr ray>, std::less<GenSt ring>, std::allocator< std:air><GenStr ing* const, CObjList><XMLAr ray>*> > >, GenString, CObjList<XMLArr ay>, std::less<GenSt ring> >::clearAndDest roy()'
../utils/libutils.a(osdt emplateinstant. o)(.gnu.linkonc e.t._ZN15CMapSt ringToObjI8CObj ListI8XMLArrayE ED2Ev+0xa2): In function `CMapStringToOb j<CObjList><XML Array> >::~CMapStringT oObj [not-in-charge]()':
: undefined reference to `std::_Rb_tree< GenString*, std:air><GenStr ing* const, CObjList><XMLAr ray>*>, std::_Select1st <std:air><GenSt ring* const, CObjList><XMLAr ray>*> >, rw_deref_compar e<std::less><Ge nString>, GenString>, std::allocator< std:air><GenStr ing* const, CObjList><XMLAr ray>*> > >::_M_erase(std ::_Rb_tree_node <std:air><GenSt ring* const, CObjList><XMLAr ray>*> >*)'
../utils/libutils.a(osdt emplateinstant. o)(.gnu.linkonc e.t._ZN15CMapSt ringToObjI8CObj ListI8XMLArrayE ED2Ev+0x150): In function `CMapStringToOb j<CObjList><XML Array> >::~CMapStringT oObj [not-in-charge]()':
: undefined reference to `std::_Rb_tree< GenString*, std:air><GenStr ing* const, CObjList><XMLAr ray>*>, std::_Select1st <std:air><GenSt ring* const, CObjList><XMLAr ray>*> >, rw_deref_compar e<std::less><Ge nString>, GenString>, std::allocator< std:air><GenStr ing* const, CObjList><XMLAr ray>*> > >::_M_erase(std ::_Rb_tree_node <std:air><GenSt ring* const, CObjList><XMLAr ray>*> >*)'
../utils/libutils.a(osdt emplateinstant. o)(.gnu.linkonc e.t._ZN15CMapSt ringToObjI8CObj ListI8XMLArrayE E5PrintEv+0xaa) : In function `CMapStringToOb j<CObjList><XML Array> >::Print()':
: undefined reference to `CObjList<XMLAr ray>::Print()'
../utils/libutils.a(osdt emplateinstant. o)(.gnu.linkonc e.t._ZN8CObjLis tI9GenStringE8P rintDrvEv+0x45) : In function `CObjList<GenSt ring>::PrintDrv ()':
: undefined reference to `RWTPtrSlistIte rator<GenString , std::allocator> <GenString*> >::operator++() '
../utils/libutils.a(osdt emplateinstant. o)(.gnu.linkonc e.t._ZN8CObjLis tI9GenStringE8P rintDrvEv+0xac) : In function `CObjList<GenSt ring>::PrintDrv ()':
: undefined reference to `RWTPtrSlistIte rator<GenString , std::allocator> <GenString*> >::operator++() '
../utils/libutils.a(osdt emplateinstant. o)(.gnu.linkonc e.t._ZN8CObjLis tI9GenStringE5P rintEv+0x34): In function `CObjList<GenSt ring>::Print()' :
: undefined reference to `RWTPtrSlistIte rator<GenString , std::allocator> <GenString*> >::operator++() '
../utils/libutils.a(osdt emplateinstant. o)(.gnu.linkonc e.t._ZN8CObjLis tI9GenStringE5P rintEv+0x79): In function `CObjList<GenSt ring>::Print()' :
: undefined reference to `RWTPtrSlistIte rator<GenString , std::allocator> <GenString*> >::operator++() '
../utils/libutils.a(osdt emplateinstant. o)(.gnu.linkonc e.t._ZN8CObjLis tI9GenStringE4S ortEv+0x176): In function `CObjList<GenSt ring>::Sort()':
: undefined reference to `rw_slist<GenSt ring*, std::allocator> <GenString*> >::erase(rw_sli st<GenString*, std::allocator> <GenString*> >::Iterator)'
../utils/libutils.a(osdt emplateinstant. o)(.gnu.linkonc e.t._ZN8CObjLis tI9GenStringE4S ortEv+0x1da): In function `CObjList<GenSt ring>::Sort()':
: undefined reference to `rw_slist<GenSt ring*, std::allocator> <GenString*> >::erase(rw_sli st<GenString*, std::allocator> <GenString*> >::Iterator)'
../utils/libutils.a(osdt emplateinstant. o)(.gnu.linkonc e.t._ZN8CObjLis tI9GenStringE4S ortEv+0x25b): In function `CObjList<GenSt ring>::Sort()':
: undefined reference to `rw_slist<GenSt ring*, std::allocator> <GenString*> >::insert(rw_sl ist<GenString*, std::allocator> <GenString*> >::Iterator, GenString* const&)'
../utils/libutils.a(osdt emplateinstant. o)(.gnu.linkonc e.t._ZN8CObjLis tI9GenStringE4S ortEv+0x2e4): In function `CObjList<GenSt ring>::Sort()':
: undefined reference to `rw_slist<GenSt ring*, std::allocator> <GenString*> >::insert(rw_sl ist<GenString*, std::allocator> <GenString*> >::Iterator, GenString* const&)'
../utils/libutils.a(osdt emplateinstant. o)(.gnu.linkonc e.t._ZN14RWTThr eadLocalIiE9cre ateKeyEv+0x129) : In function `RWTThreadLocal <int>::createKe y()':
: undefined reference to `RWTHRResourceL imit::RWTHRReso urceLimit[in-charge](RWClassicCStri ng const&)'
../utils/libutils.a(osdt emplateinstant. o)(.gnu.linkonc e.t._ZN14RWTThr eadLocalIiE9cre ateKeyEv+0x192) : In function `RWTThreadLocal <int>::createKe y()':
: undefined reference to `RWTHRResourceL imit::RWTHRReso urceLimit[in-charge](RWClassicCStri ng const&)'
../utils/libutils.a(osdt emplateinstant. o)(.gnu.linkonc e.t._ZN14RWTThr eadLocalIiE3set EPv+0xf2): In function `RWTThreadLocal <int>::set(void *)':
: undefined reference to `RWTHRResourceL imit::RWTHRReso urceLimit[in-charge](RWClassicCStri ng const&)'
../utils/libutils.a(osdt emplateinstant. o)(.gnu.linkonc e.t._ZN14RWTThr eadLocalIiE8set ValueERKi+0x51) : In function `RWTThreadLocal <int>::setValue (int const&)':
: undefined reference to `vtable for RWTTLD<int>'
../utils/libutils.a(shar eddatastore.o)( .text+0x22c): In function `XMLArray::~XML Array [in-charge]()':
: undefined reference to `RW_PMapAssoc<s td::map><GenStr ing*, GenString*, rw_deref_compar e><std::less><G enString>, GenString>, std::allocator< std:air><GenStr ing* const, GenString*> > >, RWTPtrMap<GenSt ring, GenString, std::less><GenS tring>, std::allocator< std:air><GenStr ing* const, GenString*> > >, GenString, GenString, std::less<GenSt ring> >::clearAndDest roy()'
../utils/libutils.a(shar eddatastore.o)( .text+0x234): In function `XMLArray::~XML Array [in-charge]()':
: undefined reference to `RW_PSeq<rw_sli st><GenString*, std::allocator> <GenString*> >, RWTPtrSlist<Gen String, std::allocator> <GenString*> >, GenString>::cle arAndDestroy()'
Thanks
Raju