Languages and Scripting

libxerces-c-3.0.sl aCC compilation problem

 
Must123
Occasional Advisor

libxerces-c-3.0.sl aCC compilation problem

Hi,

I am trying to compile the c++ source on aCC 6.22 compiler. I am using the xerces 3.0.

The source is getting compiled however when its trying to link its giving number of linker errors.

Here is snapshot of the source which i am compiling,

/opt/aCC/bin/aCC -I/opt/dev/program/BIA/OneCode/common/include -I/opt/dev/program/BIA/OneCode/common/include_local -I/opt/dev/program/BIA/OneCode/bsl/include -I/opt/dev/program/BIA/OneCode/bsl/src/xmlutils -I/opt/dev/program/BIA/common/include -I/opt/dev/program/xerces-c1/include -I. -I/opt/tuxdir/tuxedo8.1/include -g0 -AP -v +z +DD32 -c AC_server.cpp


/opt/aCC/lbin/ecom -architecture 32 -ia64abi all -inst compiletime -sysdir /usr/include -inline_power 1 -link_type dynamic -fpeval float -fpevaldec _Decimal32 -tls_dyn on -target_os 11.23 -I/opt/dev/program/BIA/OneCode/common/include -I/opt/dev/program/BIA/OneCode/common/include_local -I/opt/dev/program/BIA/OneCode/bsl/include -I/opt/dev/program/BIA/OneCode/bsl/src/xmlutils -I/opt/dev/program/BIA/common/include -I/opt/dev/program/xerces-c1/include -I. -I/opt/tuxdir/tuxedo8.1/include --sys_include /opt/aCC/include --sys_include /opt/aCC/include/iostream --sys_include /usr/include --sys_include /usr -D_HP_IA64ABI -D_BIND_LIBCALLS -D_Math_errhandling=MATH_ERREXCEPT -D__hpux -D__unix -D__ia64=1 -D__ia64__=1 -D_BIG_ENDIAN=1 -D__STDCPP__ -D_ILP32 -D__cplusplus=199711L -D__HP_aCC=62200 -D_HP_INSTANTIATE_T_IN_LIB -D_INLINE_ASM -D_FLT_EVAL_METHOD=0 -D_DEC_EVAL_METHOD=0 -debug debugG -ucode hdriver=optlevel%1% -plusolistoption -Ol06all! -plusolistoption -Ol13moderate! -plusooption -Oq01,al,ag,cn,sz,ic,vo,Mf,Po,es,rs,Rf,Pr,sp,in,cl,om,vc,pi,fa,pe,rr,pa,pv,nf,cp,lx,Pg,ug,lu,lb,uj,dn,sg,pt,kt,em,np,ar,rp,dl,fs,bp,wp,pc,mp,lr,cx,cr,pi,so,Rc,fa,ft,fe,ap,st,lc,Bl,sr,Qs,do,ib,pl,sd,ll,rl,dl,Lt,ol,fl,lm,ts,rd,dp,If! AC_server.cpp



============== Linker Errors
ld: Unsatisfied symbol "XMLException::~XMLException()(base)" in file /opt/dev/program/BIA/OneCode/lib/libxmlutils.a[XMLRequest.o]
ld: Unsatisfied symbol "SAXParseException::getSystemId() const" in file /opt/dev/program/BIA/OneCode/lib/libxmlutils.a[RequestHandler.o]
ld: Unsatisfied symbol "XMLString::transcode(unsigned short const*)" in file RCSIXMLRequest.o
ld: Unsatisfied symbol "type info of XMLException" in file RCSIXMLRequest.o
ld: Unsatisfied symbol "XMLUni::fgSAX2XercesSchema" in file /opt/dev/program/BIA/OneCode/lib/libxmlutils.a[XMLRequest.o]
ld: Unsatisfied symbol "XMLUni::fgSAX2CoreNameSpacePrefixes" in file /opt/dev/program/BIA/OneCode/lib/libxmlutils.a[XMLRequest.o]
ld: Unsatisfied symbol "SAXParseException::getLineNumber() const" in file /opt/dev/program/BIA/OneCode/lib/libxmlutils.a[RequestHandler.o]
ld: Unsatisfied symbol "MemBufInputSource::MemBufInputSource(unsigned char const*,unsigned int,char const*,bool)(complete)" in file RCSIXMLRequest.o
ld: Unsatisfied symbol "SAXParseException::getColumnNumber() const" in file /opt/dev/program/BIA/OneCode/lib/libxmlutils.a[RequestHandler.o]
ld: Unsatisfied symbol "XMLUni::fgNoSuchElementException_Name" in file /opt/dev/program/BIA/OneCode/lib/libxmlutils.a[XMLRequest.o]
ld: Unsatisfied symbol "MemBufInputSource::~MemBufInputSource()(complete)" in file RCSIXMLRequest.o
ld: Unsatisfied symbol "XMLException::loadExceptText(XMLExcepts::Codes)" in file /opt/dev/program/BIA/OneCode/lib/libxmlutils.a[XMLRequest.o]
ld: Unsatisfied symbol "XMLUni::fgSAX2XercesSchemaFullChecking" in file /opt/dev/program/BIA/OneCode/lib/libxmlutils.a[XMLRequest.o]
ld: Unsatisfied symbol "XMLUni::fgSAX2CoreValidation" in file /opt/dev/program/BIA/OneCode/lib/libxmlutils.a[XMLRequest.o]
ld: Unsatisfied symbol "XMLException::XMLException(char const*,unsigned int)(base)" in file /opt/dev/program/BIA/OneCode/lib/libxmlutils.a[XMLRequest.o]
ld: Unsatisfied symbol "XMLException::XMLException(XMLException const&)(base)" in file /opt/dev/program/BIA/OneCode/lib/libxmlutils.a[XMLRequest.o]
ld: Unsatisfied symbol "SAX2XMLReaderImpl::SAX2XMLReaderImpl()(complete)" in file /opt/dev/program/BIA/OneCode/lib/libxmlutils.a[XMLRequest.o]
ld: Unsatisfied symbol "SAXParseException::SAXParseException(SAXParseException const&)(complete)" in file /opt/dev/program/BIA/OneCode/lib/libxmlutils.a[RequestHandler.o]
ld: Unsatisfied symbol "XMLPlatformUtils::Initialize()" in file /opt/dev/program/BIA/OneCode/lib/libxmlutils.a[XMLRequest.o]
19 errors.


Many Thanks in Advace.
5 REPLIES 5
Dennis Handly
Acclaimed Contributor

Re: libxerces-c-3.0.sl aCC compilation problem

>-g0 -AP -v +z +DD32

Any reason you aren't using the default -AA on Integrity?

ld: Unsatisfied symbol "XMLException::~XMLException()(base)"

Where do you expect all these unsats to be defined? Are you missing a lib on the link line? (I don't see your link step.)

If you have lots of archive libs, you have to put them in order. Otherwise you need -Wl,+n to cause the linker to re-search.
Must123
Occasional Advisor

Re: libxerces-c-3.0.sl aCC compilation problem

The XMLException() and all these symbols are in xerces library. However not sure while the linker is not able to find it.

Actually we are migrating from PA-RISC systems to Integrity. On PA-RISC we have the all source compiled with xerces 2.7. And to maintain the backward compatibility without the code change we are using the -AP option with xerces 3.0 library.

Dennis Handly
Acclaimed Contributor

Re: libxerces-c-3.0.sl aCC compilation problem

>The XMLException() and all these symbols are in xerces library. However not sure while the linker is not able to find it.

Did you add a -l for it on the link line?
If an archive lib, you may need that +n.

>And to maintain the backward compatibility without the code change we are using the -AP option with xerces 3.0 library.

Did you compile xerces 3.0? If not, it could already be compiled with -AA.
Must123
Occasional Advisor

Re: libxerces-c-3.0.sl aCC compilation problem

I have even compiled the xerces library with -AP option. However still the error persist along with above linker errors.


CMDTUX_CAT:1832: ERROR: can't execute aCC +DD32 +Olit=all -Wl,+s -D__BIGMSGQUEUE_ENABLED -mt -I$TUXDIR/include -o CCSI_server_tux BS-ec5.c -L${TUXDIR}/lib -AP -Wl,+k -L. -L/opt/BIAdev/Program/BIA/OneCode/lib -L/opt/dev/Program/xerces-c1/lib -lxerces-c -L/opt/BIAdev/Program/BIA/common/lib -lutils CCSI_server.o CCSI_RCSI_service.o CCSI_RCDD_service.o AddressParser.o BIAAddrParser.o RCSIRequestData.o RCSIXMLRequest.o RCSIXMLRequestHandler.o RCSIResponseToXml.o RCDDXMLRequest.o RCDDXMLRequestHandler.o RCDDResponseToXml.o -lOSCMonitor -lDMSCReturns -lBO -lrwtool -lxerces-c -lxmlutils -lBIAshmem -lDAL -lTuxBroker -lBIAGlobal -lDMSCRequests -ltux -lbuft -lfml -lfml32 -lengine -lpthread -lcl -lnsl
make: *** [AC_server_tux] Error 1
Dennis Handly
Acclaimed Contributor

Re: libxerces-c-3.0.sl aCC compilation problem

>I have even compiled the xerces library with -AP option. However still the error persist along with above linker errors.

The error is those linker unsats.

You should move that -lutils after all of your object files. You could also try linking with -Wl,+n.

You should also remove -lcl.